NivoSync
AnmeldenJetzt kaufen

Bookings addon overview

What the Bookings addon does, what you need to use it, and the end-to-end flow from customer-submitted form to confirmed Google Calendar event.

6 min readUpdated 2026-05-16

The Bookings addon ships free with every NivoSync licence. It adds in-store appointment scheduling to a jewellery WooCommerce site — the booking form lives on a page you create, customers submit it, the appointment lands on a Google Calendar you nominate, and the customer + your team get email confirmations and reminders.

The addon is opinionated for the jewellery use case (consultation slots, custom design sessions, ring fittings, lab-grown vs natural comparisons in-store) rather than a generic "any appointment" tool. If you need full hospital-booking-grade resource management, you want a different plugin. If you need "let customers book a 30-minute consultation at one of our two studios with a real specialist", the Bookings addon is for you.

What you get

  • Drag-and-drop form builder. Compose the booking form from core fields (name, email, phone, date, time) plus custom fields you add (text, textarea, select, checkbox, radio, headings, section dividers).
  • Google Calendar two-way sync. Submissions create calendar events on a Google Calendar you nominate; events on that calendar block their time slot in the public form so you never get double-booked.
  • Reservation slots, not free-text dates. You configure available time slots (e.g. 10:00, 10:30, 11:00…) and which days of the week are open. Customers pick from real, available slots — they cannot type "next Tuesday at midnight".
  • Public holiday auto-blocking for a country of your choice (UK, IE, DE, FR, ES, IT, NL, BE, AT, CH, US, plus more via the Nager.Date API).
  • reCAPTCHA v3 spam protection with a configurable score threshold and rate limiting per IP.
  • Automatic email confirmations + reminders. Customer gets a confirmation on submission and a reminder N hours before the appointment. Your team gets an admin notification on each submission.
  • CSV export of all bookings, with formula-injection protection (no =cmd|… exploits).
  • Elementor widget + shortcode for embedding the booking form anywhere.
  • Admin management view for listing, editing, deleting bookings.

What you need before you start

RequirementWhyHow to get it
NivoSync main plugin, active and licencedThe Bookings addon checks for an active NivoSync licence on activation.Already covered in Getting started.
A Google account that owns a calendar you want appointments to land onThe addon writes events to that calendar.Free Google account is fine; G-Suite/Workspace also fine.
Google Cloud project + Service Account credentials JSONThe addon uses Service Account auth (no per-user OAuth dance).One-time setup, ~15 minutes. See Google Cloud setup.
Google reCAPTCHA v3 site key + secretSpam protection for the public form.Free at google.com/recaptcha.
SMTP delivery from WordPress (recommended)Reliable email delivery for confirmations and reminders.Use the same setup as your existing transactional emails — typically WP Mail SMTP plugin or your hosting's built-in SMTP.

End-to-end flow

What happens between the customer clicking Submit and your team being ready for them at the door:

  1. Customer fills the form on your public booking page. They pick a date, the form fetches available slots for that date from the server (slots minus existing bookings minus events already on the linked Google Calendar minus public holidays), and renders them as buttons. They pick a slot.
  2. Customer clicks Submit. Form posts to the addon's AJAX endpoint. The endpoint:
    • Verifies reCAPTCHA v3 score is above your configured threshold (default 0.5).
    • Checks the per-IP rate limit (default 5 submissions per hour).
    • Re-checks slot availability server-side (race-safe — two customers clicking the same slot at the same time can't both succeed).
    • Sanitises and validates every field according to the form schema.
    • Inserts a row into the wp_ns_bookings table.
    • Creates an event on the linked Google Calendar via the Service Account.
    • Queues a confirmation email to the customer and an admin notification to your team.
    • Queues a reminder email scheduled for N hours before the appointment (default 24h).
  3. Customer sees a confirmation page with their booking reference.
  4. Customer receives the confirmation email within seconds (assuming SMTP delivery works).
  5. Your team sees the appointment on the Google Calendar immediately.
  6. N hours before the appointment, the reminder cron fires and sends the reminder email to the customer.
  7. If you delete the event from Google Calendar before the appointment, the slot frees up for re-booking (the addon's slot calculation reads from the calendar live, so it never offers an already-blocked slot).
  8. If the customer is a no-show, the booking stays in the admin list under its date for your records but no further action is taken.

What the addon does NOT do (deliberately)

So you know what to look elsewhere for:

  • Payments at the booking step. The form does not take a deposit. If you need a paid booking flow, link the booking to a WooCommerce product and use a deposit plugin alongside.
  • Multi-resource / staff calendars. One booking page = one Google Calendar. To run multiple parallel resources (two specialists each with their own diary), create separate booking pages, each linked to a different calendar.
  • Recurring appointments. Each booking is a single event. There is no UI for "every Tuesday for 6 weeks".
  • Customer self-cancellation links. v1.0 does not surface a customer-facing reschedule/cancel link. Customers email to cancel; staff delete the event in Google Calendar. Self-cancel via signed link is planned for v1.1.
  • SMS reminders. Email only. SMS via Twilio is on the v1.1 roadmap.

Where things live in the admin

After the addon is active, you'll see a new top-level menu NivoSync Bookings in the WP sidebar with these sub-pages:

  • Bookings — the list of all submissions, with filters by status and date.
  • Form builder — the drag-and-drop UI for the booking form.
  • Slots & availability — time slots, closed days, public holidays, appointment duration.
  • Email — sender details, templates for confirmation, admin notification, reminder.
  • Google Calendar — service account credentials, linked calendar selector, test connection button.
  • Spam protection — reCAPTCHA keys, rate limit settings.
  • Settings — global addon settings.

What to do next

The natural reading order from here is:

  1. Google Cloud setup — the only setup step that takes more than 5 minutes. Do this first.
  2. Form builder — design the booking form.
  3. Slots & availability — declare when you accept appointments.
  4. Embed the form on a page using the shortcode [nivosync_booking_form] or the Elementor widget.
  5. Run a test booking against your own email + calendar to confirm the loop is closed.

If something is misbehaving, check the Google Cloud setup guide — most calendar issues trace back to a missed step there — or email support@nivosync.com.