Guide to installing and using Bookwise Appointments Suite. The booking basics (services, staff, hours, e-mails, customer links, roles, REST API) are the same as in the free plugin: see the Bookwise Appointments documentation. This page covers what the Suite adds.
Requirements: WordPress 6.3 or newer and PHP 7.4 or newer. HTTPS is needed for live payments and for Google sign-in.
[bookwise_booking] on a page (see the free documentation).Customers pay on Stripe's hosted Checkout page. You need a Stripe account.
sk_test_ or sk_live_)./wp-json/bkwzs/v1/stripe-webhook) and select these events: checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.expired, charge.refunded. Copy its signing secret (starts with whsec_).AC) and Auth Token, and get or verify a sending number.+15551234567), set the default country code and switch text messages on.{business} {service} {staff} {name} {date} {time} {link}. Reminders are set in hours before the appointment (default 24, 1).A text is sent only to a customer who ticked the consent box on the booking form. Customers who reply STOP are blocked by Twilio itself; the plugin learns about it the next time it tries and then skips that number for good.
Each staff member connects their own Google account, using an OAuth client that you create in your own Google Cloud project.
admin-post.php?action=bkwzs_google_callback).On the Coupons tab add codes with a percent or fixed amount, a number of uses (0 = unlimited), valid-from and valid-until dates and, if you like, the services it applies to. The booking form shows a “Discount code (optional)” box when at least one active code exists. The discounted price is what Stripe charges. A use is taken when the booking is made and given back if the booking never happens (for example payment expires). Enter 100 percent for a free booking.
When you edit a service, the Intake questions rows let you add extra questions for that service: text, long text, a choice list (separate the answers with commas) or a checkbox, optionally required. Answers are checked on the server, saved with the booking, shown on the booking page under Customer answers and added to the booking e-mails at the end of the details table. For your own e-mail wording you can also use the tags {intake} (plain text) and {intake_html}.
When you edit a staff member, Special days lets you give one date its own hours (for example 09:00-12:00, 13:00-17:00) or mark it as a day off. That date then replaces the weekly hours for that person, in the staff member's time zone.
Under Bookwise → Suite → License you can enter a license key. All features work without a license key. The key is optional and is only used for support and update eligibility; there is no activation requirement. Lost your key? Contact admin@007aj.com.
Payment records (amount, currency, payment type, status, refund amount, dates and Stripe payment references) are NOT removed by WordPress Erase Personal Data. They are retained for bookkeeping and tax rules. They hold no card data, name or e-mail address. Only the free-text payment note is cleared.
The Suite adds to the WordPress personal data tools (Tools → Export Personal Data and Erase Personal Data) and suggests privacy-policy text under Settings → Privacy; keep only the parts for the services you use. Secret keys and tokens are stored encrypted. Card numbers never reach your site.
| Data | Stored on your site | Sent to | Export | Erase on request |
|---|---|---|---|---|
| Bookings and customers | Name, e-mail, phone (optional), notes, time zone, service, time, status | Nobody | Yes | Notes and internal notes removed; customer record anonymised; the booking row (time, service, status, price) is kept without personal data. Upcoming active bookings are kept until cancelled or past. |
| E-mail log | Recipient, type, time, result | Nobody | Yes | Deleted |
| Stripe payments | Amount, currency, payment type, status, refund amount, dates, Stripe references (no card data, no name, no e-mail) | Stripe: e-mail, service name, booking reference, amount | Yes | Retained on purpose (bookkeeping and tax rules). NOT removed by Erase Personal Data; only the free-text note is cleared. Stripe payment references stay with the payment record. |
| Text messages (Twilio) | Log: type, time, status, Twilio reference, phone number; consent wording and time; STOP list | Twilio: phone number and message text | Yes | Phone number in the log and the consent record removed. The STOP list (numbers that replied STOP) is retained so STOP requests are respected. |
| Google Calendar | Event reference; staff tokens (encrypted) | Google: event title (service and customer name), time, booking reference, business location. Never e-mail or phone. | Yes | The plugin asks Google to delete the event and drops the reference. If Google cannot be reached the eraser says so; delete the event in Google Calendar or erase again later. |
| Discount codes | Code and discount on the booking; use counter | Nobody (the discounted price goes to Stripe) | Yes | Code and discount removed from the booking; the anonymous use counter stays |
| Intake answers | Answers with the booking | Nobody | Yes | Removed |
Retention statement. Payment records are NOT deleted when a booking or a customer is erased on request. Kept on purpose: amount, currency, payment type, status, refund amount, dates and the Stripe payment references (no card data, name or e-mail). Bookkeeping and tax rules require them. The text-message STOP list is also kept so STOP requests are respected. You decide how long to keep these retained records and delete them yourself afterwards. The eraser tells you what it kept and why. Personal data that is removed or anonymised includes intake answers, the discount code, the text-message consent record, phone numbers in the text-message log, free-text payment notes and the Google Calendar event. Data held by Stripe, Twilio and Google is not changed by Erase Personal Data; use their own tools for that.
The suggested privacy-policy text matches this table, and the export includes everything the Suite stores about a person’s bookings (including the retained payment records).
Deactivating or deleting the plugin keeps your data. To remove everything when it is deleted, tick the delete-data option under Bookwise → Settings first. This removes the Suite's tables and settings as well.
Copy the signing secret of this endpoint (it starts with whsec_), and use test keys with a test-mode endpoint.
Check in Stripe that the webhook endpoint is enabled and shows successful deliveries. The booking is confirmed when the webhook arrives.
Check the Account SID, token and number, that the customer ticked the consent box, and (for a Twilio trial account) that the number is verified. The Text messages tab lists recent messages and any error.
The redirect address in your Google OAuth client must match the one shown on the Google Calendar tab exactly.
Reminders and retries run on WP-Cron, which runs when the site is visited. On a quiet site set up a real server cron job that calls wp-cron.php.
The Suite connects to an outside service only when you turn the matching feature on, and sends nothing until you have entered your credentials for it.
| Service | Used for | What is sent | Terms and privacy |
|---|---|---|---|
| Stripe | Online payments | Amount, currency, service name, booking reference and the customer's e-mail address to start a Checkout payment; refund requests. Card details are entered on Stripe only. | Terms · Privacy |
| Twilio | Text messages | The customer's phone number, your sending number and the message text, only for customers who gave consent. | Terms · Privacy |
| Google Calendar | Calendar sync | Sign-in code exchange; for each booking of a connected staff member the event title (service and customer name), start and end time, booking reference and your business location; reads start and end times of that staff member's calendar entries for the days being booked. The customer's e-mail address and phone number are not sent. Edits made in Google are not synced back. | Terms · Privacy |
| 007aj.com | License key check, only if you enter a license key | The key, your site's host name (for example example.com), and the product name bookwise-appointments-suite. Nothing else: no bookings, no customer data. | Terms · Privacy |
The Suite does not track visitors and sets no cookies.
Email admin@007aj.com. Please include the Suite version (shown under Plugins) and what you expected to happen.