{"id":345744,"date":"2026-07-29T15:43:17","date_gmt":"2026-07-29T15:43:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/paintops\/"},"modified":"2026-09-21T17:26:16","modified_gmt":"2026-09-21T17:26:16","slug":"paintops","status":"publish","type":"plugin","link":"https:\/\/ary.wordpress.org\/plugins\/paintops\/","author":23536343,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.052","stable_tag":"1.2.052","tested":"7.1.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"PaintClarity","header_author":"PaintClarity","header_description":"Estimating, scheduling, job tracking, crews, invoicing, and profit reporting for painting contractors.","assets_banners_color":"d3ecfc","last_updated":"2026-09-21 17:26:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/paintclarity.com","header_author_uri":"https:\/\/paintclarity.com\/the-paintops-story\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":766,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.265":{"tag":"1.0.265","author":"paintops","date":"2026-07-29 15:42:44","revision":3627427},"1.0.267":{"tag":"1.0.267","author":"paintops","date":"2026-07-30 21:09:23","revision":3629119},"1.0.269":{"tag":"1.0.269","author":"paintops","date":"2026-08-01 18:26:58","revision":3631221},"1.0.270":{"tag":"1.0.270","author":"paintops","date":"2026-08-14 17:38:39","revision":3647776},"1.0.275":{"tag":"1.0.275","author":"paintops","date":"2026-08-31 03:35:34","revision":3673335},"1.0.294":{"tag":"1.0.294","author":"paintops","date":"2026-09-11 01:04:45","revision":3690639},"1.0.295":{"tag":"1.0.295","author":"paintops","date":"2026-09-11 04:28:42","revision":3690748},"1.0.297":{"tag":"1.0.297","author":"paintops","date":"2026-09-11 20:58:48","revision":3692082},"1.0.300":{"tag":"1.0.300","author":"paintops","date":"2026-09-12 07:19:18","revision":3692417},"1.0.301":{"tag":"1.0.301","author":"paintops","date":"2026-09-13 05:20:11","revision":3693323},"1.1.000":{"tag":"1.1.000","author":"paintops","date":"2026-09-14 01:39:36","revision":3694343},"1.1.001":{"tag":"1.1.001","author":"paintops","date":"2026-09-14 16:48:44","revision":3695614},"1.2.005":{"tag":"1.2.005","author":"paintops","date":"2026-09-15 04:50:30","revision":3696190},"1.2.007":{"tag":"1.2.007","author":"paintops","date":"2026-09-15 07:34:49","revision":3696404},"1.2.009":{"tag":"1.2.009","author":"paintops","date":"2026-09-16 00:00:53","revision":3697794},"1.2.038":{"tag":"1.2.038","author":"paintops","date":"2026-09-20 03:35:00","revision":3703833},"1.2.049":{"tag":"1.2.049","author":"paintops","date":"2026-09-20 20:39:16","revision":3704599},"1.2.051":{"tag":"1.2.051","author":"paintops","date":"2026-09-21 02:28:45","revision":3704757},"1.2.052":{"tag":"1.2.052","author":"paintops","date":"2026-09-21 17:26:16","revision":3706025}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3692081,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3692081,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3692081,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3692081,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.265","1.0.267","1.0.269","1.0.270","1.0.275","1.0.294","1.0.295","1.0.297","1.0.300","1.0.301","1.1.000","1.1.001","1.2.005","1.2.007","1.2.009","1.2.038","1.2.049","1.2.051","1.2.052"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3704666,"resolution":"1","location":"assets","locale":"","width":907,"height":934},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3704666,"resolution":"2","location":"assets","locale":"","width":665,"height":639},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3704666,"resolution":"3","location":"assets","locale":"","width":591,"height":933},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3704698,"resolution":"4","location":"assets","locale":"","width":589,"height":959},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3704666,"resolution":"5","location":"assets","locale":"","width":580,"height":928},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3704666,"resolution":"6","location":"assets","locale":"","width":791,"height":586},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3695602,"resolution":"7","location":"assets","locale":"","width":1708,"height":880},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3704666,"resolution":"8","location":"assets","locale":"","width":1330,"height":926}},"screenshots":{"1":"The quote\/estimate builder with scope components and inclusions\/exclusions.","2":"The customer's accept page: branded, e-signed, with online deposit.","3":"The scheduling calendar with crews, worker badges, and holiday labels.","4":"A painter's phone view: My Jobs, directions, and offline check-in.","5":"The Profits dashboard (Pro) with profit by crew and worker.","6":"An invoice with online payment and mark-as-paid.","7":"Settings: Company Profile, Appearance themes, Stripe, and AI.","8":"The Color Visualizer: select a surface in the customer's photo and turn the wheel until it is the color you are proposing."}},"plugin_section":[],"plugin_tags":[7141,51828,26218,184820,268],"plugin_category":[40],"plugin_contributors":[78154,273704],"plugin_business_model":[],"class_list":["post-345744","plugin","type-plugin","status-publish","hentry","plugin_tags-contractor","plugin_tags-estimates","plugin_tags-invoicing","plugin_tags-painting","plugin_tags-scheduling","plugin_category-calendar-and-events","plugin_contributors-freemius","plugin_contributors-paintops","plugin_committers-paintops"],"banners":{"banner":"https:\/\/ps.w.org\/paintops\/assets\/banner-772x250.png?rev=3692081","banner_2x":"https:\/\/ps.w.org\/paintops\/assets\/banner-1544x500.png?rev=3692081","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/paintops\/assets\/icon-128x128.png?rev=3692081","icon_2x":"https:\/\/ps.w.org\/paintops\/assets\/icon-256x256.png?rev=3692081","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-1.png?rev=3704666","caption":"The quote\/estimate builder with scope components and inclusions\/exclusions."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-2.png?rev=3704666","caption":"The customer's accept page: branded, e-signed, with online deposit."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-3.png?rev=3704666","caption":"The scheduling calendar with crews, worker badges, and holiday labels."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-4.png?rev=3704698","caption":"A painter's phone view: My Jobs, directions, and offline check-in."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-5.png?rev=3704666","caption":"The Profits dashboard (Pro) with profit by crew and worker."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-6.png?rev=3704666","caption":"An invoice with online payment and mark-as-paid."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-7.png?rev=3695602","caption":"Settings: Company Profile, Appearance themes, Stripe, and AI."},{"src":"https:\/\/ps.w.org\/paintops\/assets\/screenshot-8.png?rev=3704666","caption":"The Color Visualizer: select a surface in the customer's photo and turn the wheel until it is the color you are proposing."}],"raw_content":"<!--section=description-->\n<p><strong>PaintClarity turns your WordPress site into the back office for your painting business.<\/strong> <em>(PaintClarity was formerly known as PaintOps. Same plugin, same team, same data.)<\/em> Build professional quotes, send them to customers who can view, e-sign, and pay a deposit online, schedule crews on a calendar, track every job from lead to invoice, and, on Pro, see your real profit per job, per crew, and per worker.<\/p>\n\n<p>It was built by a painter, for painters. The quote builder understands painting scope: interior\/exterior components, standard inclusions and exclusions, and the disclaimer language that keeps you out of disputes. Your data lives in your own WordPress database, not locked inside someone else's SaaS.<\/p>\n\n<h4>Quote to invoice, start to finish<\/h4>\n\n<ul>\n<li><strong>Quotes, estimates &amp; bids<\/strong>: a scope-aware builder with reusable inclusions\/exclusions, itemized or lump-sum pricing, printable output, and email delivery.<\/li>\n<li><strong>A professional customer page<\/strong>: your customer opens a clean, branded page (your logo, your terms &amp; conditions) and accepts by typing their name, an e-signature-grade record with timestamp. They can also decline with a reason, or ask a question, and you're notified either way.<\/li>\n<li><strong>Acceptance converts the quote to a job automatically<\/strong>, whether they paid a deposit online or you shook hands, and a \"Mark as Won\" button covers the phone call.<\/li>\n<li><strong>Invoices<\/strong>: numbered invoices for the balance (full or partial), emailed or shared by link, payable online (Pro + Stripe) or marked paid for check\/cash, with the payment logged so balances always agree.<\/li>\n<li><strong>Receivables at a glance<\/strong>: unpaid invoices surface on your dashboard with amounts and age.<\/li>\n<\/ul>\n\n<h4>Running the work<\/h4>\n\n<ul>\n<li><strong>Scheduling calendar<\/strong> with crew filtering, worker badges, time-off, and a subscribe link for Google\/Apple\/Outlook. Add your own recurring holiday labels.<\/li>\n<li><strong>Crews<\/strong>: group your painters into named, colored crews; staff a job with one tap and filter the calendar and reports by crew.<\/li>\n<li><strong>Job board \/ pipeline<\/strong>: Quote \u2192 Active \u2192 Completed, plus a lost-leads drawer with the customer's decline reason so you can revive the ones worth re-working.<\/li>\n<li><strong>A real app for your painters<\/strong>: install-to-home-screen (PWA), a \"My Jobs\" home, one-tap directions (Google\/Apple\/Waze), per-job check-in\/out that works offline and syncs, photo\/receipt\/note logging, a \"My Hours\" view of their own time and pay, and a \"Mark Job Complete\" button that notifies the office. Workers see only what their permissions allow, never your numbers.<\/li>\n<li><strong>Customers<\/strong>: a directory with contact details, lifetime value, job history, and <strong>multiple service addresses per customer<\/strong>, built for landlords, realtors, property managers, and GCs whose one account means a dozen properties.<\/li>\n<li><strong>Before\/After photos<\/strong> with camera alignment overlay and a compare slider.<\/li>\n<li><strong>Color Visualizer<\/strong>: load a photo of the house or the room, select the surface, and turn a color wheel until it is the color you are proposing. The wall changes color and keeps its own shading, grain and texture. Select by fill, by matching color, or by dragging a box over a big flat wall. Handles stucco, siding, brick, concrete block and interior drywall, takes the Sherwin-Williams or Benjamin Moore number alongside it, and prints or saves the render for the customer. Runs entirely in your browser: no photo is uploaded anywhere.<\/li>\n<li><strong>Trade calculators, paint-color tracking, and resource links.<\/strong><\/li>\n<li><strong>A choice of visual themes<\/strong> (light, dark, industrial, and more) with a modern app-style navigation bar on desktop and phone.<\/li>\n<\/ul>\n\n<h4>What Pro adds<\/h4>\n\n<ul>\n<li><strong>Job financials &amp; profitability<\/strong>: costs, materials, labor hours; gross, expenses, profit, and margin per job; a Profits dashboard with profit-by-classification, profit-per-hour rankings, and <strong>profit by crew and by worker<\/strong> (allocated by logged hours).<\/li>\n<li><strong>Expenses &amp; receipts<\/strong> against any job, plus business-level and vehicle expense tracking for tax time.<\/li>\n<li><strong>Online payments<\/strong>: deposits on quote acceptance and invoice balances through Stripe Checkout, recorded automatically.<\/li>\n<li><strong>AI tools (bring your own OpenAI key)<\/strong>: estimate dimensions, gallons, and a Description of Work from a photo; scan receipts to auto-fill expenses; get feedback on or a rewrite of your quote wording.<\/li>\n<\/ul>\n\n<p>Pro is a paid upgrade handled through Freemius. The free plugin is fully functional on its own; Pro is optional.<\/p>\n\n<h3>Bundled artwork<\/h3>\n\n<p>The four ready-made logos offered under Business &gt; Logo URL (assets\/img\/logos\/) are AI-generated original artwork created for this plugin. They carry no third-party rights and are distributed under the same GPLv2-or-later license as the rest of the plugin. They are optional, off by default, and carry no PaintClarity branding or link.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to the following third-party services. Some are optional and only run when you enable and configure the corresponding feature.<\/p>\n\n<p><strong>OpenAI (Pro AI features, optional).<\/strong> When you use an AI feature (Photo Estimate, Receipt Scan, Description-of-Work Feedback or Rewrite), the plugin sends the relevant input, the photo you choose to upload and\/or the quote text you are working on, to the OpenAI API using <strong>your own<\/strong> OpenAI API key, and receives the generated result. No data is sent unless you click one of these buttons. PaintClarity does not store the photo. Requests go to https:\/\/api.openai.com. See OpenAI's Terms (https:\/\/openai.com\/policies\/terms-of-use) and Privacy Policy (https:\/\/openai.com\/policies\/privacy-policy).<\/p>\n\n<p><strong>Stripe (Pro online payments, optional).<\/strong> If you enable card payments and a customer pays online, the plugin creates a Stripe Checkout session and verifies Stripe's webhook using your own Stripe keys. Order\/amount details are exchanged with Stripe to process the payment. Requests go to https:\/\/api.stripe.com. See Stripe's Services Agreement (https:\/\/stripe.com\/legal\/ssa) and Privacy Policy (https:\/\/stripe.com\/privacy).<\/p>\n\n<p><strong>Google Maps Platform (optional).<\/strong> If you add a Google Maps API key, address fields use Google Places\/Geocoding for autocomplete and validation, and job locations may be shown on an embedded map. The address text you type is sent to Google to return suggestions. Requests go to https:\/\/maps.googleapis.com and related Google Maps endpoints. See Google's Terms (https:\/\/cloud.google.com\/maps-platform\/terms) and Privacy Policy (https:\/\/policies.google.com\/privacy). (One-tap turn-by-turn Directions for your crew use keyless map links and need no API key.)<\/p>\n\n<p><strong>YouTube and Vimeo (Resources page video embeds, optional).<\/strong> The Resources page (staff-facing, inside your admin area) lets you save links to training videos, and seeds a starter list of publicly available painting tutorials on YouTube. When a staff member clicks a saved YouTube or Vimeo link's play button, the video is embedded on the page via the provider's standard embed player (www.youtube.com \/ player.vimeo.com), which loads content from that provider and is subject to its terms; no data is sent until the play button is clicked, and you can delete any or all saved links. See YouTube's Terms (https:\/\/www.youtube.com\/t\/terms) and Google's Privacy Policy (https:\/\/policies.google.com\/privacy), and Vimeo's Terms (https:\/\/vimeo.com\/terms) and Privacy Policy (https:\/\/vimeo.com\/privacy).<\/p>\n\n<p><strong>Freemius (licensing &amp; updates).<\/strong> PaintClarity uses the Freemius SDK to manage Pro licenses, deliver Pro updates, and (optionally) collect anonymous usage diagnostics you can opt out of. Site and license information is exchanged with Freemius. See Freemius's Terms (https:\/\/freemius.com\/terms\/) and Privacy Policy (https:\/\/freemius.com\/privacy\/).<\/p>\n\n<p>You control every one of these by whether you enter the corresponding API key and enable the feature. With no keys entered, PaintClarity runs entirely on your own site.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Your customers' details live in your own WordPress database. PaintClarity's author never sees them, and nothing is sent to a PaintClarity server. That also means you, not the plugin, are the one a customer asks when they want to know what you hold about them, so the plugin's job is to make sure you can answer.<\/p>\n\n<p><strong>Quote and invoice pages are blocked from search engines.<\/strong> Those pages are reached by a long private link rather than a password, and a link can be forwarded, pasted into a chat, or picked up from a referrer header. Every customer-facing document PaintClarity serves is marked no-index, no-archive at both the page and the header level, so a link that escapes cannot turn into a search result.<\/p>\n\n<p><strong>Data requests work out of the box.<\/strong> Under Tools -&gt; Export Personal Data and Tools -&gt; Erase Personal Data, WordPress can search PaintClarity by email address. Export collects the customer record, their jobs, quotes, invoices, payments, and the emails you sent them. Erase removes their details from all of it.<\/p>\n\n<p><strong>Erasing does not destroy your books.<\/strong> Quotes, invoices and payments are kept and stripped of the name, address, phone, email, typed signature and IP address instead of being deleted, because a business is required to keep financial records for years and data protection law allows exactly that. Any quote or invoice link previously sent to that customer stops working. Job photos are left for you to review yourself rather than deleted automatically.<\/p>\n\n<p><strong>Suggested privacy policy wording<\/strong> for what PaintClarity stores and which services can receive data is added to Settings -&gt; Privacy -&gt; Policy Guide.<\/p>\n\n<p><strong>Three optional limits, all off by default<\/strong>, under PaintClarity -&gt; Settings -&gt; Privacy &amp; Customer Data: delete the emailed-communication log after N months, forget the IP address recorded when a quote was signed online after N months, and make quote and invoice links stop working after N days. A business working only in the United States can leave all three off and nothing changes.<\/p>\n\n<p>None of this is Pro. It is all in the free plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install PaintClarity from the Plugins screen (Plugins \u2192 Add New \u2192 search \"PaintClarity\"), or upload the plugin ZIP under Plugins \u2192 Add New \u2192 Upload Plugin. Activate it.<\/li>\n<li>Create a WordPress Page and add the shortcode <code>[paintops_app]<\/code>. This one page is your whole PaintClarity app; it routes internally.<\/li>\n<li>Go to <strong>PaintClarity \u2192 Settings<\/strong> and set your Company Profile (business name, logo, country, currency), and review the Setup Health panel.<\/li>\n<li>(Optional) Add team members under <strong>PaintClarity \u2192 Painters\/Helpers<\/strong>, set their permissions, and group them into Crews.<\/li>\n<li>(Optional) Add your Quote Terms &amp; Conditions under Business Settings so customers see and sign against them.<\/li>\n<li>(Optional, Pro) Under <strong>Settings \u2192 AI Settings<\/strong> connect OpenAI, under <strong>Stripe Payments<\/strong> add your Stripe secret key AND webhook signing secret (both are required before online payment buttons appear), and add a Google Maps API key for address autocomplete.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20paid%20account%20to%20use%20it%3F\"><h3>Do I need a paid account to use it?<\/h3><\/dt>\n<dd><p>No. The free plugin runs entirely on your own WordPress site and lets you quote, schedule, and manage unlimited jobs. Pro is an optional upgrade.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens to my data if I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Nothing is deleted. Your jobs, quotes, customers, payments, hours, and photos stay in your WordPress database, so nothing is lost if you deactivate temporarily or reinstall later. If you truly want the data gone, delete the plugin's tables and its uploads from your database and media library.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20openai%2C%20stripe%2C%20or%20google%20maps%3F\"><h3>Does it work without OpenAI, Stripe, or Google Maps?<\/h3><\/dt>\n<dd><p>Yes. Those are optional integrations. If you don't enter their keys, the related features simply stay off and everything else works, including keyless turn-by-turn directions for your crew.<\/p><\/dd>\n<dt id=\"can%20my%20customers%20really%20sign%20a%20quote%20online%3F\"><h3>Can my customers really sign a quote online?<\/h3><\/dt>\n<dd><p>They accept by typing their full name, which is stored with a timestamp and IP address alongside your Terms &amp; Conditions, a solid acceptance record. They can also decline with a reason, and change their minds later.<\/p><\/dd>\n<dt id=\"who%20pays%20for%20the%20ai%20usage%3F\"><h3>Who pays for the AI usage?<\/h3><\/dt>\n<dd><p>You do, through your own OpenAI account and key, typically a fraction of a cent to a few cents per action. PaintClarity adds per-month usage caps you control so costs stay predictable.<\/p><\/dd>\n<dt id=\"can%20my%20painters%20log%20in%20without%20seeing%20my%20numbers%3F\"><h3>Can my painters log in without seeing my numbers?<\/h3><\/dt>\n<dd><p>Yes. Painters\/Helpers get a dedicated role with opt-in permissions and their own app view: My Jobs, My Hours (their own time and pay only), directions, check-in\/out, photos and receipts. Financial figures are owner-level and hidden from workers unless you explicitly grant access.<\/p><\/dd>\n<dt id=\"does%20it%20work%20in%20the%20field%20with%20bad%20reception%3F\"><h3>Does it work in the field with bad reception?<\/h3><\/dt>\n<dd><p>The app installs to a phone's home screen, and Time Clock check-in\/out keeps working offline and syncs when a connection returns.<\/p><\/dd>\n<dt id=\"where%20is%20my%20data%20stored%3F\"><h3>Where is my data stored?<\/h3><\/dt>\n<dd><p>In your own WordPress database. PaintClarity doesn't host your business data on an external server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.052<\/h4>\n\n<ul>\n<li>Quote and invoice pages are now blocked from search engines, so a link you email a customer stays out of search results even if it gets forwarded or shared.<\/li>\n<li>Data requests: Tools -&gt; Export Personal Data and Tools -&gt; Erase Personal Data now search PaintClarity by email address, covering the customer record, jobs, quotes, invoices, payments and the emails you sent them.<\/li>\n<li>Erasing a customer anonymizes rather than deletes. Quotes, invoices and payments keep their amounts and dates and lose the personal details, so your books stay intact, and links previously sent to that customer stop working.<\/li>\n<li>Suggested privacy policy wording for what PaintClarity stores and who else sees it now appears under Settings -&gt; Privacy -&gt; Policy Guide.<\/li>\n<li>New Settings -&gt; Privacy &amp; Customer Data section with three optional retention limits, all off by default. Everything here is in the free plugin.<\/li>\n<\/ul>\n\n<h4>1.2.051<\/h4>\n\n<ul>\n<li>Job search results: the job title and its status chips were indented further than the rest of the card. Everything in the card lines up now.<\/li>\n<li>Not Won: the Call, Text and Email strip renders as the segmented control it was meant to be in the row view as well as the board, and the row has room above it. In the row view it had been drawing as three plain links run together.<\/li>\n<li>File a Receipt, job expenses and the vehicle log: the \"Scan Receipt with AI\" and \"Manually Enter\" buttons are spaced apart. They were separated by a left margin, which does nothing once the pair wraps onto two lines, which on a phone is always.<\/li>\n<\/ul>\n\n<h4>1.2.050<\/h4>\n\n<ul>\n<li>Sign out. The app had no logout anywhere: an Administrator could leave through WP Admin, but a Painter\/Helper had no way off the app at all. It now sits next to your name at the foot of the menu, on both the sidebar and the phone menu, and signing out clears the cached job pages so a shared phone does not keep the last person's work readable.<\/li>\n<li>Jobs: the Not Won drawer is in the row view as well as the board. A lost lead appears in no column and no row section, so that drawer is the only route back to one, and it was only ever drawn under the board.<\/li>\n<li>Jobs: the Communication section is on the board view as well as the rows view, including its \"nothing logged yet\" state.<\/li>\n<li>Vehicle Log: every field on the page is one height again. Most of the form was rendering at 34px while a few fields came out at 45px, so a single row could hold a tall Date next to a short Driver. The Log and Report filter row is deliberately left compact.<\/li>\n<li>File a Receipt: the two Receipt search date boxes were taller than the Search button beside them. All three now match.<\/li>\n<\/ul>\n\n<h4>1.2.049<\/h4>\n\n<ul>\n<li>Jobs board: removed the white card that wrapped the three columns. The screen was three surfaces deep, a card holding tinted columns holding job cards, and the outer one carried no information. The columns now sit on the page like the row view's sections do.<\/li>\n<\/ul>\n\n<h4>1.2.048<\/h4>\n\n<ul>\n<li>Editing a job or request now shows where it sits and lets you move it: Back to Request, Mark Completed, Reopen as Job, Mark as Not Won, whichever apply. The same buttons the board has, on the one screen dedicated to editing the record, which had none of them.<\/li>\n<li>A request marked Not Won can be reopened. It drops off the board entirely, so until now there was no obvious way back.<\/li>\n<\/ul>\n\n<h4>1.2.047<\/h4>\n\n<ul>\n<li>Jobs: the Actions menu on the \"Needs Your Attention\" rows (Completed Jobs With a Balance Due, Completed Jobs Missing Expenses) opened far away from the row you clicked, usually off the visible screen. It now opens directly under its row.<\/li>\n<li>A job with no category no longer has the word \"Uncategorized\" pushed in front of its name anywhere it is listed. \"Deck stain\", not \"Uncategorized Deck stain\".<\/li>\n<\/ul>\n\n<h4>1.2.046<\/h4>\n\n<ul>\n<li>Painters\/Helpers: \"Can manage financials\" now means what it says. It gives full financial access to the jobs that person is assigned to, and no longer opens the business-wide Profits and Rankings pages, which showed year-to-date profit, margin, every job in the book, and each crew member's profit share. Per-job access is unchanged.<\/li>\n<li>Painters\/Helpers: Expenses, Business and Checkup are no longer shown to a painter. They led nowhere: clicking one quietly reloaded My Jobs.<\/li>\n<li>Painters\/Helpers: Help now opens for a painter instead of reloading My Jobs.<\/li>\n<li>A job whose category is missing or was deleted shows \"Uncategorized\" instead of a bracketed number. Job titles read \"Job #14 Kitchen repaint\" rather than \"Job #14 [0] Kitchen repaint\", and the same fix reaches the quote PDF headline and customer emails.<\/li>\n<li>Permission messages are a proper card with a heading and a way back to your jobs, instead of one sentence on a blank page.<\/li>\n<li>New Quote: the \"add a Google Maps key in Settings\" link only shows to someone who can open Settings. Everyone else is told to ask the office.<\/li>\n<\/ul>\n\n<h4>1.2.045<\/h4>\n\n<ul>\n<li>Jobs board: the empty Requests column no longer shows its own \"+ New Request\" button. It pointed at the same screen as the New Job button at the top of the page, so the same action was offered twice within one scroll. The column now just says what lands there.<\/li>\n<\/ul>\n\n<h4>1.2.044<\/h4>\n\n<ul>\n<li>New Quote: Exclusions is now a formatted box like the Description of Work, with its own bold, italic, list and heading controls. Paragraphs, bullets and emphasis survive all the way to the quote the customer reads.<\/li>\n<li>New Quote: the Situational clauses checklist moved inside the Exclusions field, between the toolbar and the box, matching the Standard lines strip added to the Description of Work in 1.2.043. Tick a clause and it appears in the box right underneath.<\/li>\n<li>Exclusions saved before this update are plain text and keep their line breaks exactly as they were, on the job view and on the customer's quote. Nothing needs to be retyped.<\/li>\n<\/ul>\n\n<h4>1.2.043<\/h4>\n\n<ul>\n<li>New Quote: the Scope wording helper is now part of the Description of Work field itself, sitting between the formatting toolbar and the text box as a \"Standard lines\" strip. It had been above the field, then below it, and neither read right, because it writes into that field and belongs to it rather than beside it. Tick a line and you watch it appear in the box directly underneath.<\/li>\n<li>New Quote: more room between Remove and \"+ Add another option\" in the add-ons, so the two stop reading as one split control when one of them deletes a row.<\/li>\n<\/ul>\n\n<h4>1.2.042<\/h4>\n\n<ul>\n<li>New Quote: the \"Show an itemized price breakdown to the customer?\" question moved inside the itemize panel, so it appears when you open the panel to itemize. A quote that already has it ticked opens the panel by itself, so the setting is never switched on and out of sight.<\/li>\n<li>New Quote: the green \"Prefilled from this job's most recent quote\" banner is now a tooltip on the Description of Work label, where the question actually occurs to you. Same words, one less line of page.<\/li>\n<li>New Quote: the Description of Work box is 420px tall, up from 220px, and Exclusions is 280px, up from about 96px. Both are minimums, so they still grow with what you type.<\/li>\n<li>New Quote: Optional add-ons is an accordion. It folds away on a quote that has none and opens itself, with a count, on a quote that has some.<\/li>\n<li>New Quote: a little more room under the AI Job Photo Estimator link.<\/li>\n<li>The Price List reference window is readable on a phone. It was missing the one tag that tells a phone to lay a page out at screen width, so the whole thing was being rendered wide and then zoomed out to fit.<\/li>\n<\/ul>\n\n<h4>1.2.041<\/h4>\n\n<ul>\n<li>New Quote: every tool in the Quote Tools drawer has its own icon, and the calculators dropped the \"Use The\" from their names. \"Use The Paint Calculator\" is now \"Paint Calculator\".<\/li>\n<li>New Quote: fixed a real problem from the last release. After running a calculator the page reloads and reopens it, but the drawer had closed, so the answer was computed and invisible. The drawer now opens itself whenever a calculator is coming back with numbers.<\/li>\n<li>New Quote: the Scope wording helper sits directly above Exclusions, so the two wording libraries stand together. Ticking a line now says what it inserted and where, because the description is above it.<\/li>\n<li>New Quote: unticking the last line of standard wording no longer leaves a blank line at the foot of the customer's description.<\/li>\n<li>The Request acceptance rate moved off the New Quote screen and onto Business, in its own Request Performance section above Outstanding Balances. An all-time rate is a fact about the business, not about the quote in front of you.<\/li>\n<li>The little \"i\" tooltips read properly again. They used to open upward into the app bar, which clipped them, and on a phone they ran off the side of the screen. They open downward now, and on a phone they sit at the bottom of the screen where the whole note fits.<\/li>\n<\/ul>\n\n<h4>1.2.040<\/h4>\n\n<ul>\n<li>New Request: a filter box above \"Select Existing Customer\". Type part of a name or an address and the list narrows as you type. Words can be in any order, so \"peterson dana\" finds \"Dana Reyes, 88 Peterson St\". It filters the list already on the page, so there is no waiting and it works with no signal.<\/li>\n<li>New Request: the customer list is capped at your 500 most recent, chosen by who you last did a job for rather than by where their name falls in the alphabet. If you have more than that, a line under the list says how many are not shown and links to Customers. A customer the page was opened for is always in the list, however long ago you worked for them.<\/li>\n<li>New Request: the page is much lighter for a busy shop. At 3,000 customers it was 848 KB, most of it a hidden block of customer data rather than the dropdown itself. It is now under 200 KB.<\/li>\n<li>New Request: Customer Info, Job Info and Scheduling each start with a marked heading band, so the three parts of the form read as three parts.<\/li>\n<\/ul>\n\n<h4>1.2.039<\/h4>\n\n<ul>\n<li>New Quote: one \"Quote Tools\" drawer at the top holds Google Earth measuring, the price list and this job category's calculators. They used to be two loose rows of links half a page apart. Each tool is now its own row with its name and what it does, laid out in as many columns as fit.<\/li>\n<li>New Quote: Exclusions is one section again. The situational clauses write into the exclusions box, so they now sit above it inside the same bordered block instead of underneath it looking like a separate checklist.<\/li>\n<li>New Quote: \"Show an itemized price breakdown to the customer?\" moved inside the itemize card, where the lines it governs are. The card header now reads as something you can open, and it says what happens if you do not.<\/li>\n<li>New Quote: the Quote Total note no longer points the wrong way. It said to adjust the labor line \"below\" when that line has always been above it. Plurals are right too, so it reads \"1 worker\" rather than \"1 worker(s)\".<\/li>\n<li>The AI description tools are off the new request form. They exist to improve wording the customer will read, and a request never leaves the office. They are on the quote builder, against the Description of Work.<\/li>\n<\/ul>\n\n<h4>1.2.038<\/h4>\n\n<ul>\n<li>The New Job button on the Jobs page is aligned properly on a laptop and on a phone. The title now sits on its own line with one rule under it, and the button and the View All \/ Board links sit in a clean row beneath, the same shape as the Expenses page.<\/li>\n<\/ul>\n\n<h4>1.2.037<\/h4>\n\n<ul>\n<li>The Profits page reads properly on a phone. The year cards used to hold the stats beside the big Profit figure no matter how narrow the screen got, which squeezed them to nothing: every label was cut to two letters (\"SALES TA...\") and the dollar figures ran into each other. On a phone the card now stacks, Profit first, with the stats under it in as many columns as actually fit.<\/li>\n<li>Same fix on a small laptop window. At 1024px the stat strip was holding five columns in the space for three and clipping the same way.<\/li>\n<li>The Top and Bottom jobs ranking no longer pushes the whole app sideways on a very narrow phone.<\/li>\n<\/ul>\n\n<h4>1.2.036<\/h4>\n\n<ul>\n<li>One load control in the Visualizer, not two. While the photo area is empty it is the button; once a photo is in, the toolbar button comes back as \"Change photo\", which is what it does at that point.<\/li>\n<li>New Job at the top of the Jobs page.<\/li>\n<li>File a Receipt at the top of the Expenses page.<\/li>\n<\/ul>\n\n<h4>1.2.035<\/h4>\n\n<ul>\n<li>The empty photo area in the Visualizer is now the button. Tap or click anywhere in it to load a photo, instead of reaching back up to the toolbar. On a desktop you can also drop a file straight onto it.<\/li>\n<li>Take a photo with the camera. On a phone the empty area offers \"Take a Photo\" alongside \"Choose a Photo\", so you can shoot the wall you are standing in front of rather than hunting for it in your library.<\/li>\n<li>Selection tolerance moved up again, to directly under the file name. The hint you read once should not sit above the slider you drag all day.<\/li>\n<\/ul>\n\n<h4>1.2.034<\/h4>\n\n<ul>\n<li>All three receipt forms now open the same way. Business Related asks \"Scan Receipt with AI\" or \"Manually Enter\" first, the way the vehicle and job forms already did, instead of dropping a full form on you with the scan button buried inside it.<\/li>\n<li>Removed the \"File a Vehicle Receipt\" button from the Vehicle Log. It sat directly above the form it linked to.<\/li>\n<\/ul>\n\n<h4>1.2.033<\/h4>\n\n<ul>\n<li>One menu on a phone. The hamburger beside the search box is gone; the bottom bar and its More sheet are the menu. Everything the hamburger reached is in the sheet, including Checkup, which it was missing, plus your version, who you are signed in as, and the WP Admin link for administrators. Tablets keep the hamburger, because they have no bottom bar.<\/li>\n<li>Renamed \"Completed &amp; all jobs\" to \"View All Jobs\".<\/li>\n<\/ul>\n\n<h4>1.2.032<\/h4>\n\n<ul>\n<li>Deleting a job now clears everything it owns. Quote add-ons were being left behind entirely, and so were logged messages. Photos, notes, receipts and their images, the time clock, financials, payments, paint colors, invoices, follow-up visits and quotes all go, verified table by table against a test job built with one of everything.<\/li>\n<li>An overhead expense or a vehicle trip that was tagged to a deleted job keeps the record and loses the tag. Neither is the job's money, so neither is removed.<\/li>\n<li>Every delete in the app is now a button rather than a link: business notes, vehicle log entries, automatic vehicle costs, and the permanent job delete. A link that deletes can be fetched twice, which is what was swallowing the confirmations, and could be fired by anything that follows a URL.<\/li>\n<li>New vendor names now match what is already on your books. Type a name that differs only in capitalization or spacing and it saves under the spelling you already use. Type something close, like sherwin-williams when Sherwin-Williams is on file, and the form offers it before you save. Your choice either way, and once you take it the next receipt matches on its own.<\/li>\n<li>The Expenses page sections fold, one open at a time: Where it went, Month by month, Who you paid.<\/li>\n<li>The duplicate receipt finder moved from Business to Expenses, next to the spending it asks about.<\/li>\n<li>Taxes &amp; Filing reads shorter. The explanation of what goes in each tax bucket is still there, folded into About this data.<\/li>\n<li>Removed two database queries that ran on every visit to the Business page and fed nothing.<\/li>\n<\/ul>\n\n<h4>1.2.031<\/h4>\n\n<ul>\n<li>Business overhead is back on the Business page. The list of logged overhead, with its edit and delete, now lives inside the Business Expenses &amp; Overhead section where it used to be, instead of on a page of its own. Filing a receipt is still File a Receipt's job.<\/li>\n<li>The Expenses page is now a summary of the year. Job materials, vehicle and overhead side by side with what each one did against last year, every category ranked largest first, who you paid ranked by size, and a month by month list you can open and check against a card statement.<\/li>\n<li>Fixed: deleting an overhead expense never showed its confirmation. The app's offline worker was fetching the delete link a second time, and the second fetch, finding the row already gone, drew the page with nothing to say. Deleting is now a button rather than a link and confirms properly.<\/li>\n<li>Fixed: opening a section on the Business page. Two sections claimed to open by default and three more worked out which should open only after they had already been drawn, so the section you got was whichever came first in the file. The page now decides once, before anything is drawn.<\/li>\n<\/ul>\n\n<h4>1.2.030<\/h4>\n\n<ul>\n<li>File a Receipt is now the one place every receipt starts. Vehicle, Business Related and Job Cost each have their own form on that page, folded into three cards with one open at a time. Landing there opens none of them, because the question the page asks is which kind of receipt this is.<\/li>\n<li>Links can still go straight to the right form. A job's Add Expense page is unchanged, and the Vehicle page has a new File a Vehicle Receipt button that lands on the vehicle form with it already open.<\/li>\n<li>Fixed: on the Business Related form, picking \"+ New vendor\" did not open the box to type the name in, and the Scan with AI button did nothing. Both had been broken since the form moved to this page in 1.2.027.<\/li>\n<\/ul>\n\n<h4>1.2.029<\/h4>\n\n<ul>\n<li>The Board and Row view switch now agrees with itself. The link text was being drawn before the click was processed, so it showed the view you had just left. The view itself was always right; only the label was a click behind.<\/li>\n<li>Moving a card on the Job Board now says so. Mark as Job, Mark as Not Won, Mark Completed and Back to Request all rewrote the record and then the card simply vanished from its column, which looks the same as a click that did nothing. Each one now names the record and what it became.<\/li>\n<li>The folded sections on the Jobs page have a light outline, so a closed section reads as a card that is shut rather than a line of text floating on the page.<\/li>\n<\/ul>\n\n<h4>1.2.028<\/h4>\n\n<ul>\n<li>The Business page is a stack of accordions again, one open at a time. Taxes &amp; Filing is first and opens by default, because it is what you came for; the roster and the vehicle list are reference and stay folded until you want them.<\/li>\n<li>The Vendors &amp; 1099 table finally works on a phone. Each vendor is a card with its own labels instead of a seven-column table dragged sideways, so the two decisions you are there to make are a tap each.<\/li>\n<li>\"Do not track\" is now \"1099 not needed\". The decision you are recording is about the form, not about the vendor.<\/li>\n<li>The 1099 threshold moved to PaintClarity &gt; Business &gt; 1099 Reporting. It is a setting, not something you do while reading a vendor list, and it had been sitting inside that list's Save button making it look like the button only saved the number beside it. The Business page now shows one line saying which figure is in force and why.<\/li>\n<li>The rest of that block is regrouped: saving says what it saves, the bulk action is named in plain words and asks before it writes, and the two accountant exports sit apart under their own label.<\/li>\n<li>Two lines of page furniture removed: the paragraph describing the Business page to someone already on it, and the sentence explaining the year switch sitting directly below the year switch.<\/li>\n<\/ul>\n\n<h4>1.2.027<\/h4>\n\n<ul>\n<li>File a Receipt is now genuinely the one front door for every receipt. The overhead form used to live on the Expenses page and had to be summoned with a second parameter, so the one-front-door page had one door that opened onto a different building. The form is on File a Receipt itself now, at one route with one parameter.<\/li>\n<li>The Expenses page is the ledger and nothing else: what has been logged this tax year, and editing or deleting a row in it. Its File a Receipt button goes straight to the overhead form.<\/li>\n<li>If overhead is the only place you can file a receipt, File a Receipt takes you straight to the form instead of asking a question with one answer, the same way it already did for a lone job or the vehicle log.<\/li>\n<\/ul>\n\n<h4>1.2.026<\/h4>\n\n<ul>\n<li>Quotes Out and Needs Your Attention now stay folded until you open them. They were set to open themselves whenever something was in them, which on a working business is every day, so neither was ever actually seen folded. The counts in each heading are what tell you whether to look.<\/li>\n<li>Receipt search moved from the Business page to File a Receipt. Checking whether a stack of paper receipts is already filed is a filing job, so it now sits on the filing page, right above the chooser you use when the answer is no. The duplicate finder stays on Business, where the year picker it uses lives.<\/li>\n<li>The Expenses page is a ledger again. The add form sits behind a File a Receipt button, which is the one front door for a job receipt, a vehicle receipt or an overhead receipt.<\/li>\n<li>The Scan Receipt with AI and Manually Enter buttons above that form are gone. The form has its own Scan with AI button on the receipt photo field, so those two asked a question about a choice the form already offered. Picking a photo still starts a scan on its own.<\/li>\n<\/ul>\n\n<h4>1.2.025<\/h4>\n\n<ul>\n<li>Message History can now start the next contact, not just write down the last one. Call, Text and Email open your own phone or mail app and log themselves into the history below; Email Quote, Send Follow-Up Email and Text Follow-Up are the same composed sends the quote screen and the alerts card already offer, shown only when they actually apply to the record.<\/li>\n<li>Record a contact folds away on that page. It was six fields sitting above the history, so reading what had already happened started with a scroll past a form nobody had asked for. It reopens by itself if an entry fails to save.<\/li>\n<li>The Communication section on Jobs folds away too, alongside Quotes Out and Needs Your Attention.<\/li>\n<li>Mark quote declined now appears only when there is something to decline: a request with a quote on it the customer has not accepted. A request nobody has priced and an already accepted quote no longer offer the button, and the same test is enforced when the form is submitted, not just when it is drawn.<\/li>\n<li>The Communication section's replies say whether they worked. Four of its five messages are refusals and every one of them was being drawn in the green success box.<\/li>\n<li>Today's Crew is gone from the Jobs page. It listed the jobs scheduled for today, all of which were already in Active Jobs at the top of the same page with more detail; on the commonest day it was a card that existed to say nothing was scheduled.<\/li>\n<\/ul>\n\n<h4>1.2.024<\/h4>\n\n<ul>\n<li>The Jobs page is now organized by what you can do about it. Active Jobs and Upcoming come first and are always open; Quotes Out and Needs Your Attention fold away underneath, opening on their own when there is something in them worth looking at.<\/li>\n<li>Every job list has column headers now, so the date, the crew and the value are labeled instead of guessed at. On a phone, where the rows stack, each value keeps its own small label.<\/li>\n<li>Wrapping Up is gone. Every row it drew was already in Needs Your Attention one heading higher, and it was drawing them from the same two scans, doubling the work the page did on every load. Its Collect link and its Actions menu moved up into Needs Your Attention, so nothing you could reach from it is lost.<\/li>\n<li>Two bugs went with it. Staff who are not allowed to see money were reading balances in Wrapping Up that were hidden from them in the card above. And a completed job that already had an unpaid invoice was counted twice, once as a job and once as an invoice, which is the double-counted total the September 16 fix corrected in one place and not the other.<\/li>\n<li>New Communication section at the foot of Jobs: the last contact logged against each open job and quote, and a picker to start the next one. Pending quotes are in the picker too.<\/li>\n<li>From that same picker you can mark a quote declined. It moves out of Quotes Out and into Not Won, where Board view's Back to Request brings it back if the customer changes their mind.<\/li>\n<li>Request Performance moved to a page of its own, reached from the acceptance rate shown on the New Quote screen, where the number is worth a glance before you price something. It charts the rate by year and keeps the year by year figures in a show and hide underneath.<\/li>\n<li>Completed &amp; all jobs and the Board and Row switch moved up beside the Jobs heading on a wide screen, instead of sitting at the bottom under three lists of rows.<\/li>\n<\/ul>\n\n<h4>1.2.023<\/h4>\n\n<ul>\n<li>The 1099 threshold now follows the year you are reporting on. The IRS figure was $600 for payments made through 2025 and is $2,000 from 2026, so those two years are no longer judged against the same number. If your site still had the old $600 sitting in it only because that used to be the shipped default, it is cleared for you. Type your own figure any time to override it.<\/li>\n<li>The Upgrade to Pro button turned purple once you had clicked it. It was falling through to the browser's default link colors.<\/li>\n<li>Color Visualizer: selection tolerance moved out of the right rail to sit directly under the photo, where you can see what it is doing while you drag it. This matters most on a phone, where the rail sits below the photo entirely. Its minimum is now 1 instead of 4, for finer cuts.<\/li>\n<li>Color Visualizer: the color card moved above the surface card. Colors get changed over and over while trying options in front of a customer; the surface is set once.<\/li>\n<li>The AI Job Photo Estimator moved above the Description of Work instead of sitting in a drawer below it. It writes that field, so it now comes before it.<\/li>\n<li>The estimator has its own box to say what is being painted, with guidance. It used to quietly send whatever was in the Description of Work, which on a new quote was nothing at all.<\/li>\n<li>The estimator's result is more compact. Paint and supplies sit side by side, and the write-up with its Insert buttons sits directly under the figures instead of a screen below them.<\/li>\n<\/ul>\n\n<h4>1.2.022<\/h4>\n\n<ul>\n<li>Housekeeping, no change you can see. The three big settings screens, Business, Painters\/Helpers and Settings, moved out of the main plugin file into their own file. They work exactly as before. This keeps the main file small enough for our build system to package correctly.<\/li>\n<\/ul>\n\n<h4>1.2.020<\/h4>\n\n<ul>\n<li>Housekeeping. The plugin now states where its own updates come from, so a Pro install is never offered the free version by mistake. Nothing you can see has changed.<\/li>\n<\/ul>\n\n<h4>1.2.019<\/h4>\n\n<ul>\n<li>New: Message History on every job, in the job menu directly above Call Customer and Text Customer. Every way you talked to this customer about this job, in one list, newest first. Reading the history and making contact are the same errand, so they sit together as one group.<\/li>\n<li>Record what happened outside the app: a call from your own phone, a text thread, an email you pasted into your mail app, a conversation on site. Mark whether you contacted them or they contacted you, set the date it actually happened rather than today, and write down what was agreed.<\/li>\n<li>Every entry says how much it is worth. \"Sent by PaintClarity\" means the app composed it and handed it to your mail server. \"Link opened\" means somebody tapped a call or text link and what happened next is anyone's guess. \"Recorded by hand\" means a person says  &hellip;<\/li>\n<\/ul>","raw_excerpt":"Run your painting business from WordPress: quotes to invoices, crews, scheduling, customers, photos, profit reports, optional AI and card payments.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345744"}],"author":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/paintops"}],"wp:attachment":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345744"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345744"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345744"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345744"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345744"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}