WAITLISTIZE

Description

WAITLISTIZE connects WordPress to the external Waitlistize booking service. A Waitlistize account and explicit approval by that account’s administrator are required. The plugin is free; SaaS subscription permissions are determined by Waitlistize. There are no plugin license keys or paid plugin feature unlocks.

  • Native single appointment and group event booking, with backend availability and booking rules.
  • Dynamic Booking and Service catalog blocks plus account-bound shortcodes using the same renderer.
  • Confirmed, pending and waitlisted outcomes and service-configured redirects from Waitlistize.
  • Read-only, paginated account booking list with date, service ID and status filters.
  • WordPress editors can insert blocks; only administrators with manage_options can read customer records or manage the connection.
  • Per-site Multisite isolation; WordPress.org language-pack support; local scripts and styles.

Booking changes, cancellations, approvals, rescheduling and waitlist management stay in Waitlistize. Admin links require normal Waitlistize login and account permission. The native backend list includes active waitlist records, distinguished from bookings. Records are shown regardless of booking source. Customer names and account-timezone dates are displayed without persisting the booking list in WordPress.

The service catalog shows public services. Inactive service administration and subscription plan details are not provided by the current API. The Overview labels these limits explicitly. Existing embeds retain their attributes when new-block display defaults change.

External service and privacy

This plugin uses Waitlistize. Read its Terms of Service and Privacy Policy before connecting.

No integration requests are made before an administrator starts connecting. Starting pairing sends the target account slug, site name, HTTPS URL, random installation identifier, public client identifier and requested services:read, availability:read, public_bookings:create and bookings:read permissions to Waitlistize. Approval happens on the Waitlistize website. Compare the site URL and security code; approval does not prove domain ownership.

After approval, WordPress exchanges and refreshes credentials, retrieves account identity, service information, available times/events and admin booking records, and revokes the connection on request. Public service data reaches editors and visitors; only authorized site administrators can access the minimal booking-list fields (customer name, service, time, status and admin link).

When a visitor submits a booking, WordPress forwards the selected slot/event, required name/email/phone fields, required privacy acceptance, separate optional newsletter consent where configured, form timing, honeypot and visitor IP/user-agent to Waitlistize. The browser talks to WordPress; API credentials remain server-side. Waitlistize handles booking decisions, storage and any configured notifications/integrations. Visitor data passes through WordPress but is not stored in a plugin booking table or booking-list cache. Hosting, security or third-party plugins can have their own logs: configure them to protect personal data and credentials.

Credentials are encrypted in non-autoloaded per-site options using Sodium. Encryption does not protect a fully compromised WordPress site. No device codes, access tokens or refresh tokens are localized into scripts or returned to the browser. There are no remote executable scripts, CDN assets, built-in analytics or automatic downloads of executable code.

Disconnect deletes local credentials before remote revocation. If remote revocation cannot be confirmed, revoke the site in Waitlistize Settings > Integrations > WordPress. Uninstallation erases local credentials and display defaults without network requests; disconnect first to revoke remotely. WordPress page content is retained.

Blocks

This plugin provides 2 blocks.

  • Waitlistize service Display services from your connected Waitlistize account.
  • Waitlistize services Display services from your connected Waitlistize account.

Installation

  1. Use WordPress 6.5+, PHP 8.2+ with Sodium, HTTPS and outbound HTTPS access to Waitlistize.
  2. Upload the waitlistize directory to wp-content/plugins or install the release ZIP, then activate.
  3. Open WAITLISTIZE > Settings. Enter the account slug from /admin/{slug}/login and start pairing.
  4. Open the approval link, sign in to that target account, compare the site URL and security code, and approve.
  5. Insert a Waitlistize Booking or Service catalog block and bind it to the connected account, or copy a shortcode in Services and embeds. Select a service; save and test the public page.
  6. Open Bookings to read the full account list. Change records only after following their Waitlistize links.

FAQ

Can I use WordPress.com?

Use a WordPress.com site that permits plugin uploads and meets the PHP, Sodium, HTTPS and outbound API requirements. Check the current WordPress.com plugin support and plan conditions. Hosted WordPress.com operation has not been independently verified for this release; this is not a promise of compatibility with every plan or host.

Do old connections automatically gain booking read permission?

No. Existing grants remain unchanged. If Bookings reports missing permission, disconnect and start a new pairing for explicit approval. Token refresh does not add scopes. Older booking widgets can continue under their existing booking scopes.

What happens when the site is cloned?

URL/fingerprint changes stop credential use. Give each clone a distinct trusted WAITLISTIZE_INSTANCE_KEY before running it. Identical copies of all files, database and configuration cannot be distinguished locally.

What happens on deactivation or upgrade?

Deactivation stops scheduled checks and retains credentials and blocks. Reactivation resumes checks. Upgrade by replacing plugin files, without uninstalling. Back up first. Disconnect revokes the connection; deleting the plugin removes local options but preserves pages.

Why is the admin list unavailable?

Check Settings diagnostics, API access, bookings:read permission and filters. Reload after nonce expiry. API outages show an error without a stale customer cache. A service ID filter can include inactive services if the backend accepts it; the public service catalog cannot enumerate inactive services.

Does the installed plugin need Composer or a JS build?

No. All runtime code is readable and included. Tests use disposable WordPress databases and synthetic upstream responses, without a live SaaS key.

How are interface translations installed?

WordPress installs available community translations through its standard translation update system. English is the source language. The release ZIP contains no translation catalogs. Until a Hungarian or German language pack is available and installed, plugin PHP labels, admin JavaScript messages and Gutenberg editor controls appear in English. An incomplete pack can leave individual strings in English. The native booking widget retains its existing Hungarian, English and German labels; service content uses the existing service-language settings.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“WAITLISTIZE” is open source software. The following people have contributed to this plugin.

Contributors

Translate “WAITLISTIZE” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.2.0

  • Native weekly single and group booking UI, backend default resource, consent and service redirect handling.
  • Read-only account bookings with filters, native booking/waitlist identity and safe admin links.
  • Overview, diagnostics and defaults for new blocks; no changes to existing block attributes.
  • Updated HU/EN/DE translations, privacy documentation, reproducible ZIP and release checks.
  • Use WordPress.org language packs for PHP, admin JavaScript and block editor translations; preserve translation sources outside the release ZIP.

0.1.1

  • Target account slug required for pairing; preserve established connections and account renames.

0.1.0

  • Plugin foundation, explicit account approval, encrypted per-site credentials and connection lifecycle.