Skip to content

Booking Reminders

The Booking Reminders function sends automated reminders before a booking starts and follow-ups after it ends. Each timing slot you define becomes a native Voxel App Event, so the actual notification wording — email, in-app and SMS — is configured exactly where every other Voxel notification lives.

Overview

You define when to send in Voxel Toolkit; you define what to send in Voxel → App Events. A "24 hours before" reminder can email the customer, notify the vendor in-app, and (with SMS Notifications enabled) text either of them — all from Voxel's standard event configuration.

Key Features

  • Any number of reminder slots (before the booking starts) and follow-up slots (after it ends)
  • Each slot is a real Voxel App Event with customer, vendor, and admin destinations
  • Email, in-app, and SMS channels per destination
  • @customer, @vendor, @order, @post, and @booking dynamic tags
  • Timeslot-aware — a "1 hour before" reminder for a 2pm slot fires at 1pm
  • Test-send tool that fires an event for a real booking immediately

Setup Instructions

Step 1: Enable the Function

  1. Navigate to Voxel Toolkit → Functions in your WordPress admin
  2. Find Booking Reminders in the list
  3. Toggle the switch to enable the function

Step 2: Add Timing Slots

In the function's settings:

  • Reminders — sent before the booking starts. Click Add reminder and set a number and unit (Minutes / Hours / Days) "before the booking starts". A new row defaults to 24 hours
  • Follow-ups — sent after the booking ends. Click Add follow-up and set the timing "after the booking ends". A new row defaults to 1 hour

Save your changes. Each slot registers an App Event.

Step 3: Configure the Events in Voxel

  1. Go to Voxel → App Events and find the Voxel Toolkit category
  2. Each slot appears as an event, e.g. Booking: 24 Hours Reminder or Booking: 1 Hour Follow-up
  3. Enable the destinations you want — Notify customer, Notify vendor, Notify admin — and write the in-app and email content. All destinations start disabled, so nothing sends until you switch them on
  4. If SMS Notifications is enabled, the SMS channel appears here too

Sensible default wording is provided (e.g. "Your booking at @post(:title) starts soon!" for the customer reminder, "How was your experience at @post(:title)?" for the follow-up).

Dynamic Tags

Reminder and follow-up events expose:

TagResolves to
@customer(...)The customer who placed the booking
@vendor(...)The vendor (falls back to the listing author if the order has no vendor)
@order(...)The order the booking belongs to
@post(...)The booked listing
@booking(...)The booking itself — dates, timeslot, and so on

@booking tags in previews

Voxel's App Events preview has no real booking to work with, so @booking(...) tags resolve as empty there. Use the test-send tool below to see them filled in.

How Timing Works

  • Timeslot bookings — the reminder is measured from the slot's start time and the follow-up from its end time, so "1 hour before" a 2pm–4pm slot fires at 1pm and "1 hour after" fires at 5pm
  • Single-day bookings — the day runs 00:00 to 23:59, so reminders measure from midnight
  • Date-range bookings — from the start date's midnight to the end date's 23:59
  • Checks run every 15 minutes via WP-Cron, so a slot fires within a 15-minute window of its target time. Each slot fires once per booking — duplicates are suppressed
  • Order statuses covered: completed, subscription active, and subscription trialing; only booking-type order items are considered

Testing

Once at least one slot exists, a Send a test section appears in the settings:

  1. Pick an Event (e.g. "Reminder: 24 hours before")
  2. Pick a Booking from the list of recent booking orders
  3. Click Send test notification

The event fires immediately for that real booking, so you can check the wording without waiting for the scheduled time. If the list is empty, create a test booking first.

Troubleshooting

Nothing Is Sending

  • Confirm the destination (customer/vendor/admin) is actually enabled in Voxel → App Events — every destination starts off
  • Check WP-Cron is running; the check runs every 15 minutes
  • Confirm the order status is completed or an active/trialing subscription

An Event Is Missing from App Events

  • Save the Booking Reminders settings again — events are registered from the saved slots

Requirements

  • Voxel Theme with a bookable product type configured
  • Voxel Toolkit plugin with Booking Reminders enabled
  • Working WP-Cron (or a real cron hitting wp-cron.php)
  • SMS Notifications function (optional, for the SMS channel)

Built by Code Wattz.