{"id":292587,"date":"2026-04-13T20:49:31","date_gmt":"2026-04-13T20:49:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/serviceflow\/"},"modified":"2026-05-15T17:12:52","modified_gmt":"2026-05-15T17:12:52","slug":"clielo","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/clielo\/","author":23468863,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.4","stable_tag":"1.2.4","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Clielo","header_author":"SylvestreUi","header_description":"Service management plugin with integrated chat, order tracking, invoicing, Stripe payments and client notifications for any Custom Post Type.","assets_banners_color":"c3d4f9","last_updated":"2026-05-15 17:12:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/SylvestreUi\/clielo","header_author_uri":"https:\/\/github.com\/SylvestreUi","rating":0,"author_block_rating":0,"active_installs":0,"downloads":386,"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":"sylvestreui","date":"2026-04-13 20:51:07"},"1.0.1":{"tag":"1.0.1","author":"sylvestreui","date":"2026-05-08 19:15:36"},"1.0.2":{"tag":"1.0.2","author":"sylvestreui","date":"2026-05-08 19:50:46"},"1.0.3":{"tag":"1.0.3","author":"sylvestreui","date":"2026-05-08 21:53:17"},"1.0.4":{"tag":"1.0.4","author":"sylvestreui","date":"2026-05-08 22:15:11"},"1.0.5":{"tag":"1.0.5","author":"sylvestreui","date":"2026-05-08 22:22:48"},"1.2.0":{"tag":"1.2.0","author":"sylvestreui","date":"2026-05-09 10:38:40"},"1.2.1":{"tag":"1.2.1","author":"sylvestreui","date":"2026-05-14 13:51:19"},"1.2.2":{"tag":"1.2.2","author":"sylvestreui","date":"2026-05-14 20:41:47"},"1.2.3":{"tag":"1.2.3","author":"sylvestreui","date":"2026-05-14 22:24:58"},"1.2.4":{"tag":"1.2.4","author":"sylvestreui","date":"2026-05-15 17:12:52"}},"upgrade_notice":{"1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533366,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533685,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3533685,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3533685,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5707,466,16236,16281,1887],"plugin_category":[41,45],"plugin_contributors":[260144],"plugin_business_model":[],"class_list":["post-292587","plugin","type-plugin","status-publish","hentry","plugin_tags-chat","plugin_tags-client","plugin_tags-invoices","plugin_tags-orders","plugin_tags-payments","plugin_category-communication","plugin_category-ecommerce","plugin_contributors-sylvestreui","plugin_committers-sylvestreui"],"banners":{"banner":"https:\/\/ps.w.org\/clielo\/assets\/banner-772x250.png?rev=3533685","banner_2x":"https:\/\/ps.w.org\/clielo\/assets\/banner-1544x500.png?rev=3533685","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/clielo\/assets\/icon-128x128.png?rev=3533366","icon_2x":"https:\/\/ps.w.org\/clielo\/assets\/icon-256x256.png?rev=3533685","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Clielo turns any Custom Post Type into a full client service management system. Each post gets its own real-time chat, allowing clients and service providers to communicate directly, place orders, track progress and pay online.<\/p>\n\n<p><strong>Core Features (Free)<\/strong><\/p>\n\n<ul>\n<li>Real-time chat attached to any CPT post<\/li>\n<li>Service packs and options management with pricing, delays and descriptions<\/li>\n<li>Order workflow: pending \u2192 paid \u2192 started \u2192 completed \u2192 revision \u2192 accepted<\/li>\n<li>Client account page with dashboard, orders, invoices and profile (<code>[clielo_my_account]<\/code> shortcode)<\/li>\n<li>Admin dashboard with statistics and recent activity<\/li>\n<li>In-app notification system<\/li>\n<li>Customisable accent colour and chat button position<\/li>\n<li>Fully responsive \u2014 mobile-friendly sidebar and chat<\/li>\n<li>WP-Cron warning if DISABLE_WP_CRON is active<\/li>\n<\/ul>\n\n<p><strong>Premium Features (via Freemius)<\/strong><\/p>\n\n<ul>\n<li>Stripe Checkout integration for online payments (single, deposit, installments, monthly subscription)<\/li>\n<li>Automatic PDF invoice generation<\/li>\n<li>Email notifications (new order, status change, payment links, reminders)<\/li>\n<li>Full email template editor with live preview<\/li>\n<li>Todo list per order with progress tracking<\/li>\n<li>Automatic payment link sending on due date (WP Cron)<\/li>\n<li>Configurable payment reminders N days before due date<\/li>\n<li>Unlimited services (free plan limited to 1)<\/li>\n<li>Extra pages, express delivery and maintenance pricing options<\/li>\n<li>Elementor Dynamic Tags integration<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin optionally connects to the following third-party services:<\/p>\n\n<h4>Stripe (premium only)<\/h4>\n\n<p>Used to process online payments via Stripe Checkout. Only active when Stripe is enabled by the site administrator and API keys are configured.\n* Service: https:\/\/stripe.com\n* Privacy Policy: https:\/\/stripe.com\/privacy\n* Terms of Service: https:\/\/stripe.com\/legal<\/p>\n\n<h4>Freemius<\/h4>\n\n<p>Used to manage plugin licensing, upgrades and trials. Activated on first use of the plugin admin area (opt-in required).\n* Service: https:\/\/freemius.com\n* Privacy Policy: https:\/\/freemius.com\/privacy<\/p>\n\n<p>No data is transmitted to external services in the free plan without explicit configuration by the site administrator.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>clielo<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Clielo \u2192 Settings<\/strong> and choose your Custom Post Type<\/li>\n<li>Create a page and add the <code>[clielo_my_account]<\/code> shortcode for the client account dashboard (orders, invoices, profile). Optionally, add <code>[clielo_account]<\/code> in your header\/navbar as a login\/avatar widget.<\/li>\n<li><em>(Premium)<\/em> Configure Stripe under <strong>Clielo \u2192 Stripe<\/strong> \u2014 paste your API keys and webhook secret<\/li>\n<li><em>(Premium)<\/em> Configure email notifications under <strong>Clielo \u2192 Notifications<\/strong><\/li>\n<\/ol>\n\n<p><strong>WP Cron (for automatic payment links)<\/strong><\/p>\n\n<p>On low-traffic sites, add a real system cron job for reliable daily scheduling:\n    * 8 * * * curl https:\/\/yoursite.com\/wp-cron.php?doing_wp_cron &gt;\/dev\/null 2&gt;&amp;1<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20custom%20post%20types%20are%20supported%3F\"><h3>Which Custom Post Types are supported?<\/h3><\/dt>\n<dd><p>Any public Custom Post Type registered on your site. Configure it in Clielo \u2192 Settings.<\/p><\/dd>\n<dt id=\"is%20stripe%20required%3F\"><h3>Is Stripe required?<\/h3><\/dt>\n<dd><p>No. Without Stripe (free plan), orders follow a manual chat-based workflow. Enabling Stripe (premium) adds automatic payment collection via Stripe Checkout.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20chat%20appearance%3F\"><h3>Can I customise the chat appearance?<\/h3><\/dt>\n<dd><p>Yes. You can change the accent colour and chat button position (bottom-left, bottom-right, top-left, top-right) from the settings page. All UI elements adapt to the chosen colour automatically.<\/p><\/dd>\n<dt id=\"what%20payment%20modes%20does%20stripe%20support%3F\"><h3>What payment modes does Stripe support?<\/h3><\/dt>\n<dd><p>Four modes per service: single payment, 50% deposit + balance on delivery, installments (40% upfront + N monthly payments), or pure monthly subscription.<\/p><\/dd>\n<dt id=\"where%20is%20the%20webhook%20url%20for%20stripe%3F\"><h3>Where is the webhook URL for Stripe?<\/h3><\/dt>\n<dd><p>Go to <strong>Clielo \u2192 Stripe<\/strong> in your admin. The webhook URL is displayed there \u2014 copy it into your Stripe Dashboard under Developers \u2192 Webhooks. Select the <code>checkout.session.completed<\/code> event.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Chat: image sharing \u2014 clients and admin can send images (auto-resized to 1200px, 5 MB max)<\/li>\n<li>Chat: voice messages \u2014 record and send audio clips up to 3 minutes (mic button)<\/li>\n<li>Chat: URLs in messages are now clickable links<\/li>\n<li>Chat: image lightbox \u2014 clicking a thumbnail opens a full-screen overlay; click again to close<\/li>\n<li>Chat: attach and mic buttons use flat SVG stroke icons, correctly aligned with the input field<\/li>\n<li>Fix: recent messages were disappearing after quote generation or order transitions (query now loads latest 100 messages)<\/li>\n<li>Fix: chat polling interval reduced from 5 s to 2 s for near-real-time updates<\/li>\n<li>Elementor widget \"Options de service\": add \"Show quote button\" toggle (Content tab)<\/li>\n<li>Elementor widget \"Options de service\": add \"Bouton Devis\" style section \u2014 typography, border\/text color, background, border radius<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Quote flow: client can now view the DEVIS document directly from the chat order bar (\"Voir le devis\" button)<\/li>\n<li>Quote flow: client gets \"Accepter le devis\" and \"Refuser le devis\" buttons when a quote is pending<\/li>\n<li>Quote flow: fix card order button text \u2014 shows \"Devis en attente\", \"En attente de paiement\", \"Livraison termin\u00e9e\" or \"Retouche en cours\" instead of generic \"Commande en cours...\"<\/li>\n<li>Quote flow: invoice view endpoint now allows clients to view quote documents (type=quote) regardless of status<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Admin menu: reorganize with GESTION \/ PARAM\u00c8TRES separators \u2014 centralize all submenu registrations in Dashboard<\/li>\n<li>Admin menu: replace \"Clients WP\" with \"Clients\" (external clients from clielo_clients table)<\/li>\n<li>Admin menu: add \"Devis\" page listing pending quote orders and generated DEVIS-XXX documents<\/li>\n<li>Quote flow: add toast notification on client quote submission<\/li>\n<li>Quote flow: admin bell notification when a client submits a quote<\/li>\n<li>Quote flow: add \"G\u00e9n\u00e9rer le devis\" button (premium) \u2014 creates DEVIS-XXX document in invoices table, posts link in chat<\/li>\n<li>Quote flow: rename \"Approuver\" \u2192 \"Devis accept\u00e9\" \u2014 transitions quote\u2192pending, posts approval message in chat, sends client in-app notification<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Elementor widget: add \"Clielo \u2014 Cloche\" widget for notification bell \u2014 style controls for icon color\/size, badge color, panel background\/radius\/width and \"Mark all read\" link color<\/li>\n<li>Elementor widget: add \"Clielo \u2014 Compte\" widget for login\/avatar button \u2014 style controls for avatar size\/border, dropdown background\/radius\/width, login &amp; register button colors\/typography\/radius<\/li>\n<li>Notifications shortcode: add CSS classes (clielo-nb-icon, clielo-nb-badge, clielo-nb-drop, clielo-nb-readall) to enable Elementor override<\/li>\n<li>Account shortcode: add CSS classes (clielo-acct-login, clielo-acct-register, clielo-acct-wrap, clielo-acct-toggle, clielo-acct-drop) to enable Elementor override<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Elementor widget: add \"En-t\u00eate\" style section \u2014 background color, text color and Typography group for the \"Options de service\" header bar<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Elementor widget: reorganize Style tab \u2014 pack name\/price\/delay\/features\/border-radius\/states all in one \"Packs\" section<\/li>\n<li>Elementor widget: add \"Options avanc\u00e9es\" section \u2014 Typography + color for title, price\/unit and icon color<\/li>\n<li>Elementor widget: add \"Case \u00e0 cocher\" color control (accent-color) in Options suppl\u00e9mentaires<\/li>\n<li>Elementor widget: add Typography group controls for all R\u00e9capitulatif text elements (sous-total, total label, total value, delay label, delay value)<\/li>\n<li>Service card: footer text elements use CSS classes \u2014 Elementor Typography controls can now override all footer text<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Elementor widget: footer recap (subtotal, TVA, total, order button) now visible in Elementor editor\/preview mode even when logged in as admin<\/li>\n<li>Elementor widget: floating chat button now visible in Elementor editor\/preview mode, including on non-service pages where the widget is placed<\/li>\n<li>Elementor widget: plugin CSS assets loaded in Elementor preview so all styles apply correctly during editing<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Elementor widget: full Typography group controls (font family, style, weight, size, transform, line-height, letter-spacing) for all text elements \u2014 section labels, pack names\/prices\/delays, features, option names\/prices, order button<\/li>\n<li>Elementor widget: pack card states now fully customizable \u2014 separate Default, Hover and Selected controls (background + border each)<\/li>\n<li>Service card: footer recap no longer sticky on desktop \u2014 sticky only on mobile (\u2264768 px)<\/li>\n<li>Fix chat button color: Elementor controls now correctly override PHP defaults via higher-specificity selectors<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Elementor widget: add comprehensive style controls for all service card elements \u2014 section labels, pack state (selected\/unselected bg + border), option prices, footer recap (background, separators, subtotal, total, delay)<\/li>\n<li>Elementor widget: JS pack switching now uses CSS variables \u2014 pack colors update live when Elementor controls change<\/li>\n<li>Elementor widget: all new controls update live in Elementor editor with zero PHP re-render<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Elementor widget: add style controls for chat button (color, size, radius) and chat popup (background, radius, width, height)<\/li>\n<li>Elementor widget: chat button and popup now use CSS variables \u2014 controls update live in Elementor editor via :root selectors<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Elementor widget: live preview now works correctly for all style controls (CSS variables via style tag, overridable by Elementor selectors)<\/li>\n<li>Elementor widget: add comprehensive style controls \u2014 card background, pack name\/price typography, features, options, button (color, size, weight, radius)<\/li>\n<li>Elementor widget: fix border radius controls (card and button) now apply correctly<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Elementor widget: color override now updates live in editor via CSS variables<\/li>\n<li>Elementor widget: service options auto-detect current post, no manual ID needed<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix UTF-8 BOM in PHP files causing Freemius license activation to fail<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Add Elementor widget for service options (packs, options, order button toggle)<\/li>\n<li>Premium features now unlock instantly via license key activation (no separate zip required)<\/li>\n<li>Rename all internal identifiers from serviceflow to clielo<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<\/ul>","raw_excerpt":"Turn any Custom Post Type into a complete client service platform \u2014 chat, orders, payments, invoices and notifications in one plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/292587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=292587"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sylvestreui"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=292587"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=292587"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=292587"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=292587"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=292587"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=292587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}