{"id":398069,"date":"2026-11-04T16:46:02","date_gmt":"2026-11-04T16:46:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/salonivo-salon-spa-booking-front-desk-day-close-for-woocommerce\/"},"modified":"2026-11-04T18:41:15","modified_gmt":"2026-11-04T18:41:15","slug":"logicweft-salon","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/logicweft-salon\/","author":23588703,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.6","requires_php":"8.1","requires_plugins":null,"header_name":"LogicWeft Salon \u2013 Booking, Front Desk & Day Close for WooCommerce","header_author":"LogicWeft","header_description":"Online booking, front desk Operator App, stylist screens, client cards and day close for salons, spas and beauty parlours on WooCommerce.","assets_banners_color":"c9c7c2","last_updated":"2026-11-04 18:41:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/salon.logicweft.com","header_author_uri":"https:\/\/logicweft.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":65,"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":"logicweft","date":"2026-11-04 16:45:49","revision":3784405},"1.0.1":{"tag":"1.0.1","author":"logicweft","date":"2026-11-04 18:41:15","revision":3784593}},"upgrade_notice":{"1.0.1":"<p>Shows salon names with an ampersand correctly.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3784405,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3784405,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3784405,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3784405,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"logicweft-salon\/booking":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"logicweft-salon\/booking","title":"Salon booking","category":"widgets","icon":"calendar-alt","description":"The LogicWeft Salon booking widget: services, stylist and time, confirm.","keywords":["salon","booking","appointment"],"textdomain":"logicweft-salon","attributes":{"service":{"type":"integer","default":0},"category":{"type":"string","default":""}},"supports":{"align":["wide","full"],"html":false,"reusable":false},"editorScript":"file:.\/editor.js"}},"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3784405,"resolution":"1","location":"assets","locale":"","width":1140,"height":965},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3784405,"resolution":"2","location":"assets","locale":"","width":1140,"height":1006},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3784405,"resolution":"3","location":"assets","locale":"","width":1194,"height":834},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3784405,"resolution":"4","location":"assets","locale":"","width":1194,"height":834},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3784405,"resolution":"5","location":"assets","locale":"","width":1194,"height":834},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3784405,"resolution":"6","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"Online booking: choose services from the menu, filtered by category.","2":"Pick a stylist (or \"anyone\"), a day and a time.","3":"Today board: every appointment by status, with arrive, in chair and finish actions.","4":"Calendar: the day across every stylist.","5":"Client card with preferences and visit history.","6":"Setup wizard: add your staff in a few steps."}},"plugin_section":[],"plugin_tags":[8132,269,11523,11522,286],"plugin_category":[40,45],"plugin_contributors":[289731],"plugin_business_model":[],"class_list":["post-398069","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-salon","plugin_tags-spa","plugin_tags-woocommerce","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-logicweft","plugin_committers-logicweft"],"banners":{"banner":"https:\/\/ps.w.org\/logicweft-salon\/assets\/banner-772x250.png?rev=3784405","banner_2x":"https:\/\/ps.w.org\/logicweft-salon\/assets\/banner-1544x500.png?rev=3784405","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/logicweft-salon\/assets\/icon-128x128.png?rev=3784405","icon_2x":"https:\/\/ps.w.org\/logicweft-salon\/assets\/icon-256x256.png?rev=3784405","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-1.png?rev=3784405","caption":"Online booking: choose services from the menu, filtered by category."},{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-2.png?rev=3784405","caption":"Pick a stylist (or \"anyone\"), a day and a time."},{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-3.png?rev=3784405","caption":"Today board: every appointment by status, with arrive, in chair and finish actions."},{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-4.png?rev=3784405","caption":"Calendar: the day across every stylist."},{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-5.png?rev=3784405","caption":"Client card with preferences and visit history."},{"src":"https:\/\/ps.w.org\/logicweft-salon\/assets\/screenshot-6.png?rev=3784405","caption":"Setup wizard: add your staff in a few steps."}],"raw_content":"<!--section=description-->\n<p>LogicWeft Salon turns a WooCommerce site into a salon system: clients book services and stylists online, the front desk runs the day from a tablet, stylists see their day on a phone, and the owner closes the day with numbers that match WooCommerce.<\/p>\n\n<p>Services are WooCommerce products and appointments are WooCommerce orders, so your gateways, taxes, coupons and reports keep working, and retail products go in the same cart as a haircut.<\/p>\n\n<h4>Free includes<\/h4>\n\n<ul>\n<li>Online booking: services, add-ons, stylist choice or \"anyone\", back-to-back slots, guest booking<\/li>\n<li>Full prepayment or pay at the salon, cancellation policy and windows<\/li>\n<li>Operator App: Today board, calendar by staff, walk-in queue, stylist My day, run-late and pause<\/li>\n<li>Client cards with history, notes and allergy banner<\/li>\n<li>Day close and today dashboard<\/li>\n<li>Waitlist, QR walk-in join page and My Account bookings with reschedule and cancel<\/li>\n<li>Setup wizard with optional demo data; WP-CLI demo commands<\/li>\n<li>Booking emails through WooCommerce, with .ics and Google Calendar links<\/li>\n<li>Palette presets and appearance settings; Elementor widgets, blocks and shortcodes<\/li>\n<li>Translation-ready with RTL support<\/li>\n<\/ul>\n\n<p>Everything listed above is included, with nothing locked.<\/p>\n\n<h3>External services<\/h3>\n\n<p>LogicWeft Salon does not send data from your site to any outside service, and it loads no remote scripts, styles or fonts.<\/p>\n\n<h4>Google Calendar (link only)<\/h4>\n\n<p>The booking confirmation page and the confirmation email show an \"Add to Google Calendar\" link. Nothing is sent when the page loads. Only when a client clicks the link, their browser opens calendar.google.com with the appointment's service name, time, salon name and address in the link, so Google can pre-fill a calendar event. The same page also offers a downloadable .ics file, which stays on your site.\n* Google Terms of Service: https:\/\/policies.google.com\/terms\n* Google Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The JavaScript and CSS in <code>assets\/<\/code> are compiled. Their human-readable source ships with the plugin in <code>apps\/<\/code>: the booking widget (<code>apps\/booking<\/code>), the Operator App and its service worker (<code>apps\/operator<\/code>), the Appearance screen (<code>apps\/admin<\/code>), the shared stylesheets (<code>apps\/ui<\/code>) and the shared Operator App shell, components and design tokens (<code>apps\/wc-ops-core-ui<\/code>), written in TypeScript and React.<\/p>\n\n<p>To rebuild <code>assets\/<\/code> from that source, use Node.js 20 or newer and pnpm 9 or newer in the plugin folder:<\/p>\n\n<pre><code>pnpm install &amp;&amp; pnpm build\n<\/code><\/pre>\n\n<p>The build uses Vite, TypeScript, React and vite-plugin-pwa, as listed in the <code>package.json<\/code> files. The PHP code is not compiled.<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<p>JavaScript, compiled into <code>assets\/<\/code> (source in <code>apps\/<\/code>):<\/p>\n\n<ul>\n<li>React, React DOM and scheduler (MIT).<\/li>\n<li>Workbox 7 (MIT), with idb (ISC), in the Operator App's service worker.<\/li>\n<\/ul>\n\n<p>Fonts:<\/p>\n\n<ul>\n<li>Inter and Manrope variable fonts (SIL Open Font License 1.1), packaged by Fontsource and bundled, so no font is loaded from another site. Their licences are in <code>licenses\/<\/code>.<\/li>\n<\/ul>\n\n<p>PHP: the plugin's shared WooCommerce operations library (GPLv2 or later, by the same author) ships in <code>vendor-prefixed\/<\/code> under the <code>LogicWeft\\Salon\\Vendor<\/code> namespace, so it cannot clash with another plugin's copy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload and activate LogicWeft Salon.<\/li>\n<li>Follow the setup wizard: salon details, hours, staff, services, booking page, look.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The booking widget inherits your theme's fonts by default and sizes itself to its container; the Operator App has its own screen.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20free%20and%20pro%3F\"><h3>What is the difference between Free and Pro?<\/h3><\/dt>\n<dd><p>This plugin is complete on its own: booking, front desk, stylist screens, client cards and day close, with nothing locked. A separate paid add-on for deposits, packages, memberships, gift cards, commissions and SMS\/WhatsApp reminders is planned; it is not needed for anything this plugin does.<\/p><\/dd>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Services are WooCommerce products and appointments are WooCommerce orders, so WooCommerce 9.5 or later must be active.<\/p><\/dd>\n<dt id=\"can%20clients%20book%20without%20an%20account%3F\"><h3>Can clients book without an account?<\/h3><\/dt>\n<dd><p>Yes. Clients can book as guests; clients with an account also see their appointments under My Account.<\/p><\/dd>\n<dt id=\"does%20it%20send%20sms%20or%20whatsapp%20messages%3F\"><h3>Does it send SMS or WhatsApp messages?<\/h3><\/dt>\n<dd><p>Not in Free. Free sends WooCommerce emails for booked, rescheduled, cancelled and reminder messages.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: in a salon name such as \"Hair &amp; Spa\", the ampersand showed as an HTML code in the booking widget's logo text and in test emails.<\/li>\n<li>A new salon now takes its name from the site title as plain text.<\/li>\n<li>The plugin's home page is now https:\/\/salon.logicweft.com.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Online booking: services, add-ons, stylist choice or \"anyone\", back-to-back slots and guest booking, through WooCommerce checkout.<\/li>\n<li>Operator App for the front desk and stylists: Today board, calendar, walk-in queue, running late, My day, client cards, checkout and day close.<\/li>\n<li>Setup wizard, settings, appearance, a booking block, shortcodes and Elementor widgets.<\/li>\n<li>Staff can be added without a WordPress login and linked to a user later.<\/li>\n<\/ul>","raw_excerpt":"Online booking, a front desk app, stylist screens, client cards and day close for salons and spas on WooCommerce.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398069","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=398069"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/logicweft"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398069"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398069"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398069"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398069"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398069"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}