booknslot v1.5 Update: What's New, What's Better, and What's Next
A walk through what landed in the v1.5 release line — an overhauled email-template editor with 25 ready-made HTML presets, a faster admin bundle, themable booking widgets, the calendar + detail-drawer bookings view, and the roadmap items we're tackling next.
This is a roll-up of everything that’s shipped in the v1.5 release line of the booknslot plugin, the refinements we’ve made to existing features along the way, and what’s queued up next. v1.5 came together over a few weeks of focused work, mostly on the back of one big push (the email-template editor) plus a steady drumbeat of smaller wins.
If you’ve already installed the plugin, your WordPress will tell you when an update is available — it’ll auto-detect through the standard plugin updater. If you’re evaluating, the live demo reflects the latest release.
What’s new in v1.5
A real email-template editor
The headline change. Until v1.4, customizing the OTP / confirmation / approval emails meant edits scattered across a handful of inputs. v1.5 replaces all of that with a dedicated template editor:
- 25 ready-made HTML presets — Stripe-style tables, soft cards, friendly OTP blocks, boarding-pass layouts, formal welcome designs. Five visual designs across five template kinds (OTP, booking received, approval request, approval confirmation, rejection notification). Pick one, ship.
- Inline preview/code toggle. As of v1.5.8, the editor renders the live HTML preview right next to the editable code in the same pane — no modal hop, no “save to see what it looks like.” Edit on the left, see the result on the right.
- CTA button helper. A small visual builder for the call-to-action button on emails (e.g., “Confirm your booking” or “Add to calendar”). Outputs email-safe inline-styled HTML.
{all_form_fields}and{all_form_fields_html}placeholders. If your booking form collects custom fields (project code, group size, license number, anything), one placeholder dumps them all into the email — no more updating templates every time you add a field.- Markdown-style links in labels. Type
[Cancellation policy](https://example.com/policy)in any field label, page description, or checkbox text. The public widget renders it as a real link. - “Powered by booknslot.com” footer on every sent email — branded, unobtrusive, helps the plugin spread by word of mouth.
Bookings calendar + detail drawer
A grid view of all bookings by date, filterable per page or resource. Click any booking and a side drawer opens with the full record — booker, slot, status, approval history, custom-field responses, and direct approve/reject actions. Replaces the long scrolling list view that was getting hard to read once you had more than a couple weeks of bookings.
Theme picker
Six preset palettes for the public booking widget — Forest, Ocean, Sunset, Lavender, Rose, Slate — plus custom hex if you want to match your site exactly. Applies only to the booker-facing form; the admin UI stays neutral so it doesn’t compete with your WordPress admin theme.
Email branding
Logo URL, custom header color, footer HTML, signature HTML — set once in Settings → Email, wraps every transactional email in your branding. Leave it all empty for the minimal default envelope.
Per-service approval rules
Configure approval workflows resource-by-resource. Vehicle #1 routes to Maintainer A; Vehicle #2 routes to Maintainer B; the conference room auto-approves. Replaces the old shared rule that applied to every resource on a page.
What got better
A noticeably faster admin
Dropping React Quill (the WYSIWYG editor we briefly shipped in v1.4) cut the admin bundle from 547KB to 309KB raw — a 42% reduction. Pages load faster, the Settings → Email Templates tab is snappier, and the new HTML-only editor renders email-safe styles more reliably than the WYSIWYG did. The trade-off — losing the rich-text mode — is covered by the 25 presets; most admins now pick a preset and tweak inline, which is faster than a WYSIWYG anyway.
Cleaner Settings
The Settings page is now three inner tabs: General, Notifications, and Email delivery. Previously everything piled into one long page; the tab split makes it obvious where to look for what.
Rate-limiting and anti-abuse, hardened
OTP requests are rate-limited per IP and per email address; honeypot fields catch bot submissions before they consume an OTP send. Production deployments running open public booking pages won’t see drive-by spam exhaust their Resend / SES quota anymore.
.ics files, RFC 5545 compliant
The calendar attachments on confirmations and approval emails now pass strict validators. Outlook, Apple Calendar, Google Calendar, and the major mobile clients all import them cleanly.
Markdown links across the admin
Any place you type a label or a description — field labels, page descriptions, checkbox text — accepts [link text](url) syntax. The public widget renders them as proper <a target="_blank"> links. Saves a config field that used to require HTML.
What’s coming next
The roadmap is small and focused; we’re prioritizing things that reduce operational risk and make the plugin easier to live with over years rather than chasing flashy features.
Self-hosted plugin updater (high priority)
Right now, plugin updates happen by re-uploading the zip. The next release will add a proper WordPress “Update available” notice that pulls the new zip through a license-checked endpoint — same flow as Yoast, WP Rocket, or any other commercial WordPress plugin. Cuts update friction to “click update” on the standard Plugins page.
Auto-snapshot before plugin update (medium priority)
Before any plugin update, the system automatically snapshots all booknslot_* tables and options. If an update goes wrong (rare, but possible with WordPress), restoring is one click. Removes the “did I back up first?” anxiety from updates.
Manual Export/Import in Settings (medium priority)
A JSON data-dump button in Settings — full state out, full state in. Two use cases: your own safety net (download before risky changes), and cross-site migration (move bookings + config from staging to production, or from one client site to another).
Cross-theme smoke testing (medium priority)
We test against the default WordPress themes (Twenty Twenty-Five and recent siblings). Coming up: explicit verification against Astra and GeneratePress — the two themes most common among small-business WordPress sites. The booking widget should look right regardless of theme; this work makes it a tested promise rather than a hopeful one.
LemonSqueezy ToS at checkout (low priority)
A terms-acceptance tick-box at checkout. Required for some procurement processes; takes 10 minutes to add in the LS dashboard.
Considered but deferred
A few items intentionally not on the near-term roadmap:
- Multi-day bookings (single booking spanning multiple days)
- Non-consecutive slot selection (booker picks slot A, skips slot B, picks slot C in one booking)
Both have UI stubs visible in older builds but no backend yet. The schema + reservation-logic work to support them properly is significant, and the demand hasn’t pulled us there yet. If your workflow needs either, tell us — it goes on the priority list when there’s pull.
Where to go from here
If you’re already on the plugin, update from Plugins → Installed Plugins once you see the prompt — or use the manual zip if you’re not running the auto-updater yet. The release is fully backward-compatible; existing emails keep working, existing bookings keep their state, and you can opt into the new template presets one by one.
If you’re evaluating, the live demo runs the current release on mock data with the OTP code 123456 for the booker step. About 90 seconds end-to-end.
For the broader case for a real booking plugin instead of email threads and spreadsheets, see Why your WordPress site probably needs a booking plugin. For the feature breakdown that goes deeper than the new-and-shiny in this post, see What makes booknslot different.