Bookings addon
Add appointment booking β included with every licence.
A second product in the box. The same licence that runs your diamond catalogue powers customer-facing appointments with Google Calendar sync and automatic reminders.
What it ships with
Drag-and-drop form builder
Core fields plus unlimited custom fields β text, textarea, select, checkbox, radio, headings. Conditional logic on the roadmap.
Google Calendar sync
Bi-directional. New bookings create events on your calendar. Existing events on your calendar block out the slots in the booking form.
reCAPTCHA v3 protection
Score-based, fail-closed by default. Falls back to Elementor Pro reCAPTCHA keys if you already have them configured.
Automatic reminders
Configurable hours-before window. Atomic cron locking guarantees exactly one reminder per booking even under duplicate cron triggers.
Public-holiday awareness
Country-specific holidays auto-block via Nager.Date. UK bank holidays out of the box; switch country in settings.
Privacy-first logging
PII (emails, names, phone, IP) redacted before persistence. Logs retain operational signal without GDPR-exposed personal data.
How jewellers actually use this
In-store appointments
Walk-in customers self-book a slot for ring sizing, repair drop-off, or a designer consultation. Reduces phone-tag with no admin overhead.
Virtual consultations
Calendar event includes a video link. The reminder email pushes the link 24 hours and 1 hour before the call.
Custom design intake
Pre-consultation form captures budget range, occasion, design references. The designer arrives at the call already informed.
Repair and aftercare
Repeat customers book maintenance slots without going through reception. Form fields capture order ID and condition.
Hardened against the things spam pages get hit with
We took the addon through six security audit waves alongside the core plugin. The receipts:
- CRLF injection on the From: header β defended at the settings boundary and at header construction.
- CSV formula injection on admin export β every cell starting with =, +, -, @, tab, or newline gets a single-quote prefix.
- PII redaction in logs β emails hashed, IPs zeroed at /24, names replaced.
- Atomic cron locking β UPDATE ... WHERE reminder_sent = 0 returns affected_rows = 1 to exactly one cron contender.
- Credentials out of webroot β Google service-account JSON moved to wp-uploads/nivosync-bookings-private with .htaccess + 404 stub.
- Mass-assignment guard on admin edit β only allowlisted fields accepted, ignoring stale-form or attacker-supplied extras.
Bookings is part of NivoSync β not a separate purchase.
The NivoSync licence includes the Bookings addon at no extra cost. If your store needs appointments today, you do not have to wait for a v2 of NivoSync.