{"id":351583,"date":"2026-08-12T21:11:47","date_gmt":"2026-08-12T21:11:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bsx-snapbook\/"},"modified":"2026-08-12T21:41:32","modified_gmt":"2026-08-12T21:41:32","slug":"bsx-snapbook","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bsx-snapbook\/","author":23516592,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BSX SnapBook","header_author":"Abyssal279 \u00b7 BlackShark Solutions","header_description":"Simple appointment booking for professionals and businesses, with WhatsApp confirmations and Google Calendar sync via ICS feed. No complicated setup.","assets_banners_color":"8b9fa2","last_updated":"2026-08-12 21:41:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/blackshark279.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bs279","date":"2026-08-12 21:41:32"}},"upgrade_notice":{"1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3644009,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3644009,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3644009,"resolution":"1544x500","location":"assets","locale":"","width":1545,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3644009,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3644009,"resolution":"1","location":"assets","locale":"","width":2757,"height":1457},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3644009,"resolution":"10","location":"assets","locale":"","width":3292,"height":1775},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3644009,"resolution":"11","location":"assets","locale":"","width":2175,"height":1380},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3644009,"resolution":"12","location":"assets","locale":"","width":2050,"height":1752},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3644009,"resolution":"13","location":"assets","locale":"","width":2215,"height":1670},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3644009,"resolution":"14","location":"assets","locale":"","width":2055,"height":1175},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3644009,"resolution":"2","location":"assets","locale":"","width":2325,"height":1482},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3644009,"resolution":"3","location":"assets","locale":"","width":2395,"height":1125},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3644009,"resolution":"4","location":"assets","locale":"","width":2355,"height":1715},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3644009,"resolution":"5","location":"assets","locale":"","width":2330,"height":1080},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3644009,"resolution":"6","location":"assets","locale":"","width":2350,"height":1685},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3644009,"resolution":"7","location":"assets","locale":"","width":2330,"height":1995},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3644009,"resolution":"8","location":"assets","locale":"","width":2845,"height":1775},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3644009,"resolution":"9","location":"assets","locale":"","width":2897,"height":1825}},"screenshots":{"1":"Setup wizard, step 1: choose whether you work solo or as a team.","2":"Setup wizard, step 2: set your display name and confirm your timezone.","3":"Setup wizard, step 3: add your first service with duration and price.","4":"Setup wizard, step 4: build your weekly schedule from a preset or by hand.","5":"Setup wizard, step 5: decide who can book - everyone, or logged-in customers only.","6":"Brand identity settings: logo, primary and accent colors, and tagline, applied everywhere - admin, widget, portal, and emails.","7":"Professionals panel: assign services to each professional and add new team members in seconds.","8":"Appointments calendar: a monthly view of bookings with quick access to any day.","9":"Day detail with phone\/WhatsApp quick booking: review a day's appointments or add one manually while on a call.","10":"Dashboard: today's stats, upcoming appointments, and setup status at a glance.","11":"Public booking widget: customers pick a service or look up an existing booking by email or phone.","12":"Public booking widget: pick a date from the calendar - shown here fully translated to Spanish.","13":"Public booking widget: choose a time slot and enter contact details, including Venezuela-formatted phone numbers.","14":"Booking confirmation: customers review every detail before confirming, with a direct WhatsApp link to message the business."}},"plugin_section":[],"plugin_tags":[8132,269,416,722,3160],"plugin_category":[40],"plugin_contributors":[272055],"plugin_business_model":[],"class_list":["post-351583","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-reservation","plugin_tags-whatsapp","plugin_category-calendar-and-events","plugin_contributors-bs279","plugin_committers-bs279"],"banners":{"banner":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/banner-772x250.png?rev=3644009","banner_2x":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/banner-1544x500.png?rev=3644009","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/icon-128x128.png?rev=3644009","icon_2x":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/icon-256x256.png?rev=3644009","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-1.png?rev=3644009","caption":"Setup wizard, step 1: choose whether you work solo or as a team."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-2.png?rev=3644009","caption":"Setup wizard, step 2: set your display name and confirm your timezone."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-3.png?rev=3644009","caption":"Setup wizard, step 3: add your first service with duration and price."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-4.png?rev=3644009","caption":"Setup wizard, step 4: build your weekly schedule from a preset or by hand."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-5.png?rev=3644009","caption":"Setup wizard, step 5: decide who can book - everyone, or logged-in customers only."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-6.png?rev=3644009","caption":"Brand identity settings: logo, primary and accent colors, and tagline, applied everywhere - admin, widget, portal, and emails."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-7.png?rev=3644009","caption":"Professionals panel: assign services to each professional and add new team members in seconds."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-8.png?rev=3644009","caption":"Appointments calendar: a monthly view of bookings with quick access to any day."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-9.png?rev=3644009","caption":"Day detail with phone\/WhatsApp quick booking: review a day's appointments or add one manually while on a call."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-10.png?rev=3644009","caption":"Dashboard: today's stats, upcoming appointments, and setup status at a glance."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-11.png?rev=3644009","caption":"Public booking widget: customers pick a service or look up an existing booking by email or phone."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-12.png?rev=3644009","caption":"Public booking widget: pick a date from the calendar - shown here fully translated to Spanish."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-13.png?rev=3644009","caption":"Public booking widget: choose a time slot and enter contact details, including Venezuela-formatted phone numbers."},{"src":"https:\/\/ps.w.org\/bsx-snapbook\/assets\/screenshot-14.png?rev=3644009","caption":"Booking confirmation: customers review every detail before confirming, with a direct WhatsApp link to message the business."}],"raw_content":"<!--section=description-->\n<p>BSX SnapBook is an appointment booking plugin built for independent professionals (hairdressers, clinics, spas, workshops) and for businesses with several professionals attending customers.<\/p>\n\n<p><strong>Key features:<\/strong><\/p>\n\n<ul>\n<li>6-step setup wizard: your booking system is ready in minutes, no documentation required.<\/li>\n<li>\"Independent professional\" or \"business with several professionals\" mode \u2014 changeable anytime from Settings.<\/li>\n<li>Two customer access modes: open to everyone (book with just an email\/phone), or logged-in customers only (requires Ultimate Member) \u2014 appointments tie to the customer's account, with a direct \"My Appointments\" view on their profile and Account page.<\/li>\n<li>Booking by service, with the option to pick a specific professional or \"anyone available\".<\/li>\n<li>The system prevents the same customer from booking two appointments that overlap, across any service or professional on the site.<\/li>\n<li>Sync with Google Calendar, Apple Calendar, and Outlook via a unique iCalendar (.ics) feed per professional \u2014 no need to connect accounts or grant OAuth permissions.<\/li>\n<li>WhatsApp confirmations and inquiries via direct links (wa.me), with no paid API required.<\/li>\n<li>One \"Identity\" screen for your logo and brand colors, applied everywhere at once \u2014 the admin panel, the booking widget, and every email.<\/li>\n<li>Public cancellation\/reschedule page for open bookings; account-based history for logged-in customers.<\/li>\n<li>Configurable automatic reminders (the day before and a few hours before), plus automatic completion of past confirmed appointments.<\/li>\n<li>Internal team notifications: the admin and the assigned professional can be emailed when a new appointment comes in, with its confirmation status.<\/li>\n<li>Frontend portal for each professional ([bsxsb_pro_portal]): manages their own active services, schedule, exceptions\/days off, and calendar link, with a WordPress role scoped to their own data.<\/li>\n<li>Import an existing schedule via CSV, to get started without beginning from scratch.<\/li>\n<li>Admin panel with Dashboard, Identity, Services, Professionals, Appointments, Email &amp; Notifications, Settings, Instructions, and Activity Log.<\/li>\n<li>Quick-booking mode for appointments taken over the phone.<\/li>\n<li>A \"Danger zone\" in Settings to permanently wipe all appointment data and restart the setup wizard, for a clean reconfiguration.<\/li>\n<\/ul>\n\n<h4>Languages<\/h4>\n\n<p>BSX SnapBook's source language is English. Once published, translations are contributed and delivered through translate.wordpress.org.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>BSX SnapBook does not send any data to external servers by default. WhatsApp links use the public wa.me scheme and require no API or credentials.<\/p>\n\n<p>Optionally, you can opt in to anonymous usage tracking (a banner asks once, and it's always available to toggle from Settings). If enabled, the plugin sends: plugin\/WordPress\/PHP versions, site language, whether the site is multisite, counts of professionals\/services\/appointments, the customer access mode, whether Ultimate Member is active, and the server software type (Apache\/Nginx\/etc.) \u2014 sent weekly via WP-Cron. It never sends your domain, IP address, usernames, or any customer data. A random, non-reversible site hash is included only to avoid duplicate counting, not to identify your site. Declining, or never responding to the prompt, means nothing is ever sent. See \"External services\" below for where this data goes.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can optionally connect to Google Apps Script, used solely to collect the anonymous usage statistics described in the Privacy section above.<\/p>\n\n<p>This connection is opt-in: nothing is sent unless you explicitly accept the one-time banner or enable it from Settings. If enabled, the plugin sends the data listed in the Privacy section (plugin\/WordPress\/PHP versions, site language, multisite status, professionals\/services\/appointments counts, customer access mode, Ultimate Member active status, server software type, and a random non-identifying site hash) once immediately upon opting in, and then weekly via WP-Cron for as long as tracking stays enabled. No domain, IP address, username, or customer data is ever included.<\/p>\n\n<p>This service is provided by Google. Terms of Service: https:\/\/policies.google.com\/terms \u2014 Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the WordPress plugin search.<\/li>\n<li>Activate the plugin from the \"Plugins\" menu.<\/li>\n<li>You'll be redirected automatically to the initial setup wizard.<\/li>\n<li>When finished, copy the <code>[bsxsb_booking]<\/code> shortcode and paste it into any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20google%20account%20to%20sync%20the%20calendar%3F\"><h3>Do I need a Google account to sync the calendar?<\/h3><\/dt>\n<dd><p>No. BSX SnapBook generates a subscription link (.ics feed) that you can add from Google Calendar, Apple Calendar, or Outlook using the \"Add calendar by URL\" option. No Client ID, OAuth, or account connection required.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20whatsapp%20messages%20automatically%3F\"><h3>Does the plugin send WhatsApp messages automatically?<\/h3><\/dt>\n<dd><p>No, it doesn't send automatic WhatsApp messages (that would require the official WhatsApp Business API, which is paid). Instead, it generates ready-made <code>wa.me<\/code> links so the business or the customer can start the conversation with a single click.<\/p><\/dd>\n<dt id=\"can%20i%20have%20several%20professionals%20attending%20the%20same%20service%20at%20the%20same%20time%3F\"><h3>Can I have several professionals attending the same service at the same time?<\/h3><\/dt>\n<dd><p>Yes. Time-slot blocking happens at the individual professional level, not the service or the business, so several professionals can attend at the same time.<\/p><\/dd>\n<dt id=\"do%20i%20need%20ultimate%20member%20installed%3F\"><h3>Do I need Ultimate Member installed?<\/h3><\/dt>\n<dd><p>No, but if you have Ultimate Member active, it's picked up automatically: a \"My Appointments\" tab appears on the front-end Account page, so customers can see their bookings without leaving their account area. Without Ultimate Member, customers manage their bookings through the link in their confirmation email instead - no other plugin is required.<\/p><\/dd>\n<dt id=\"what%27s%20the%20difference%20between%20%22i%20work%20alone%22%20and%20%22we%27re%20a%20business%22%3F\"><h3>What's the difference between \"I work alone\" and \"We're a business\"?<\/h3><\/dt>\n<dd><p>This is set in step 1 of the setup wizard and mainly changes how you manage professionals, not what customers see. \"I work alone\" is meant for a single practitioner: it creates one professional automatically and keeps the day-to-day view simple. \"We're a business\" gives you full team management - add or remove several professionals, assign services to each one individually, and track their schedules separately. You can switch between the two anytime from Settings.<\/p><\/dd>\n<dt id=\"what%27s%20the%20difference%20between%20%22open%20to%20everyone%22%20and%20%22logged-in%20customers%20only%22%3F\"><h3>What's the difference between \"Open to everyone\" and \"Logged-in customers only\"?<\/h3><\/dt>\n<dd><p>This is set in step 5 of the setup wizard. \"Open to everyone\" lets any visitor book with just an email or phone number - no account required. \"Logged-in customers only\" ties each new booking to a WordPress user account, so returning customers can see their appointment history automatically (especially useful together with Ultimate Member). This setting only affects new bookings going forward and can be changed anytime from Settings.<\/p><\/dd>\n<dt id=\"can%20i%20skip%20the%20setup%20wizard%2C%20or%20change%20my%20answers%20later%3F\"><h3>Can I skip the setup wizard, or change my answers later?<\/h3><\/dt>\n<dd><p>Yes. The wizard only runs once to get you up and running quickly, but every choice it asks about - work mode, services, weekly schedule, brand colors, and who can book - lives in the regular Settings pages afterward, so nothing is locked in.<\/p><\/dd>\n<dt id=\"does%20bsx%20snapbook%20share%20my%20data%20with%20third%20parties%3F\"><h3>Does BSX SnapBook share my data with third parties?<\/h3><\/dt>\n<dd><p>Only if you choose to. The plugin includes an anonymous, opt-in usage telemetry feature (off by default) that helps us understand which features are actually used; see \"External services\" below for details. Your appointments and customer information always stay in your own WordPress database and are never sent anywhere else.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Simple appointment booking for professionals and businesses, with WhatsApp confirmations and external calendar sync \u2014 no complicated setup.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351583"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bs279"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351583"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351583"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351583"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351583"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351583"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}