Guides

How to Test Your Booking Setup Before Going Live — Checklist

Before sending your first real client to your booking page, it is worth spending fifteen minutes confirming that every part of the flow actually works. Here is a structured checklist to run through — from plugin settings to Google Calendar to cancellation links.

18 June 2026  ·  8 min read
How to Test Your Booking Setup Before Going Live — Checklist

A booking setup has more moving parts than it appears. The plugin reads from Google Calendar, creates events, sends emails to two addresses, generates cancellation links, and writes records to a WordPress database. Each part works independently — and each part can fail independently. A client who hits a broken booking page does not usually tell you. They just leave.

Before pointing anyone to your booking page, run through this checklist. It covers every part of the flow, takes about fifteen minutes, and is considerably faster than troubleshooting problems after a real client encounters them.

What this checklist covers

  • Plugin settings — connection, calendar, working hours
  • Availability — slots, blocking, minimum notice
  • Booking form — fields, labels, required validation
  • End-to-end test booking — the full flow from slot selection to confirmation
  • Email notifications — host and guest, ICS file, Google Meet link
  • Google Calendar — event created, details correct
  • Cancellation link — client self-cancellation works
  • Frontend appearance — widget matches your theme

1. Plugin settings

Start in Settings → CalNative Booking and confirm the following before loading the booking page at all.

  • The Calendar ID field is filled in and matches the calendar you shared with the service account — not a different calendar in your Google account
  • The JSON key file has been uploaded and the plugin shows no credential error on the settings page
  • The Owner email field contains the email address where you want host notification emails sent — this is separate from the Google account email and can be any address
  • The Session duration is set to the correct length in minutes (typically 30, 45, 60, or 90)
  • The Buffer time is set to how many minutes you want between sessions — or 0 if you want back-to-back slots
  • The Minimum notice period is set correctly — if you need at least 24 hours before a session can be booked, confirm that slots within the next 24 hours do not appear in the widget
  • The Working days and hours match the times you actually want to offer — check both the days (no unwanted weekdays or weekends selected) and the start/end times
  • The Booking window (how many months ahead clients can book) is set to a sensible value

2. Availability — what slots are shown

Open your booking page as a visitor (use an incognito window so you are not logged in as admin) and check the following.

  • Slots appear on the expected working days within your working hours — if today is a Tuesday and Tuesday is a working day, slots should be visible this week
  • Slots respect the minimum notice period — if you set 24 hours, slots in the next 24 hours should not be available
  • An event already in your Google Calendar blocks the corresponding slot — add a test event to Google Calendar right now and confirm that slot disappears from the booking page within a few seconds of refreshing
  • Buffer time is working — if you have a session in your calendar ending at 11:00 and a 15-minute buffer set, the 11:00 slot should not be available to book
  • Days outside your working hours show no slots (or no selectable state in the calendar)

The real-time Google Calendar test is the most important one. It confirms the service account connection is actually working — not just that the plugin loaded without errors.

3. Booking form

Select an available slot and check the form step before submitting anything.

  • The fields you enabled in Settings → CalNative Booking → Form Fields are visible — name, surname, email, and any optional fields you turned on (phone, company/subject, notes)
  • Labels and placeholder text match what you set — check that renamed labels (e.g. “Company” renamed to “Subject”) appear correctly
  • Required field validation works — try submitting the form with the name field empty and confirm an error appears rather than the form submitting
  • The notes/message field placeholder reads as a useful prompt, not just “Message”
  • The submit button label reads correctly — if you changed it from the default, confirm the custom label appears

4. End-to-end test booking

Make a real test booking using your own email address. Use an incognito window and fill in all fields with realistic test data — your name, a real email address you can check, a phone number, and something in the notes field if it is enabled.

  • The booking completes without a JavaScript error or a spinning loader that never finishes
  • The success screen appears with the correct session date and time shown
  • The slot you just booked is no longer available if you go back to the calendar and check — this confirms the slot-locking mechanism worked
  • The booking appears in your WordPress admin under CalNative Booking → Bookings with the correct name, email, and session time

5. Email notifications

Check both the email you receive as the host and the confirmation email sent to the client (which went to your test email address).

Host notification email:

  • Arrived at the owner email address set in your plugin settings
  • Contains the client’s full name, email address, and any other fields they filled in
  • Shows the correct session date and time
  • If you customised the notification template, check that all tokens resolved correctly — no literal {name} or {date} strings remaining in the email body

Client confirmation email:

  • Arrived promptly — if it has not arrived after two minutes, check your spam folder
  • The sender name and email address look professional — not a generic WordPress address
  • The session date and time are correct and in a readable format
  • An ICS file is attached — open it and confirm it imports correctly into Google Calendar, Apple Calendar, or Outlook with the right date and time
  • If Google Meet is enabled, a Meet link is present in the confirmation email
  • A cancellation link is present — you will test this in step 7

If emails are not arriving, the most common cause is your hosting server’s outgoing mail configuration. WordPress uses wp_mail() which relies on PHP mail — many shared hosts block or restrict this. Installing an SMTP plugin (WP Mail SMTP is the most widely used) and connecting it to a transactional mail service like SendGrid, Mailgun, or even Gmail SMTP resolves this on any host.

6. Google Calendar event

Open Google Calendar and find the event created by the test booking.

  • The event was created on the correct calendar — if you are using a dedicated booking calendar, confirm it appeared there and not on your primary calendar
  • The event title shows the client’s name or the session title, not a generic placeholder
  • The event description contains the client’s name, email address, phone number (if collected), and notes (if collected) — this is the information you will read before the session
  • The start and end time are correct, including the correct timezone
  • If Google Meet is enabled, a Meet link appears in the event

Find the cancellation link in the client confirmation email and click it.

  • The link opens a page on your website — not a third-party platform
  • The page shows the booking details (date, time, name) and a confirmation prompt before cancelling
  • Confirming the cancellation removes the event from Google Calendar
  • The slot becomes available again in the booking widget after cancellation
  • The booking status updates in your WordPress admin under CalNative Booking → Bookings

8. Frontend appearance

Check the booking page on both desktop and mobile.

  • The widget’s primary colour matches your brand — buttons, selected dates, and form field focus states all use the correct colour
  • The font matches your theme — if you set --calnative-font: inherit or specified your theme’s font, confirm it is rendering correctly
  • The widget width is appropriate for your layout — it should not overflow its container or stretch uncomfortably on narrow screens
  • On mobile (resize your browser or use DevTools device mode), the calendar grid and slot buttons are readable and tappable without zooming
  • The booking title and description shown in the widget header match what you set in the plugin settings — not the default placeholder text
  • The success screen after booking looks correct and does not show a raw error message or a blank page

After the checklist — clean up the test booking

Once you have finished testing, delete the test booking from your Google Calendar and from the bookings log in WordPress admin. This keeps your records clean and prevents the test slot from showing as occupied in your calendar if you did not go through the cancellation flow.

If you found a problem during the checklist, the most common causes are: the Calendar ID does not match the shared calendar, the service account was shared with the wrong permission level, or outgoing email is blocked by the hosting server. Each of these has a straightforward fix — the service account setup guide covers the first two, and an SMTP plugin covers the third.

Get CalNative Booking — $39/year →

Back to Blog