=== Busy Firm Product Designer ===
Contributors: busyfirm
Tags: woocommerce, product designer, customizer, print on demand, personalization
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.4.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Let customers design a product on your own WooCommerce store, then have it printed and shipped. The design travels with the order.

== Description ==

Add a **Customize** button to any WooCommerce product. Your customer designs it on your site — text, artwork, uploads, colours, print areas — and the finished design is attached to their cart item and carried through to the order.

What the customer made is what gets produced. The design reference travels with the line item, so nothing is retyped, re-uploaded, or guessed at when the order is fulfilled.

= What it does =

* A Customize button on any product you choose - the designer opens in place, your customer never leaves your store
* Text, artwork, uploads, colours, print areas and 24+ ready templates
* Your customer approves a proof before the design goes on their order
* Print it yourself: every order carries the approved proof and a print-ready file - or have paid orders printed and shipped for you
* A preview of the design on the product page, in the cart, at checkout and on the order
* Per-product control: enable it only on the products you want
* Use your own Printful account: paid orders are created there, at your cost - as drafts or straight to production
* Your own blanks: photograph the garments you stock, mark each print area and its size, and customers design on them
* Your rules per product: which print areas, techniques, tools and template categories customers get
* Your pricing: a fee per extra print area, screen setup per ink colour, quantity breaks and a rush option -
  counted from the real design, never from the browser

= What it does not do =

* It does not change your prices. WooCommerce charges exactly what you configured; the design is attached to the line item, never a source of truth about money.
* It does not touch products you have not enabled.

= Requirements =

A Busy Firm account and an API key from it. The designer and the production side run on Busy Firm; this plugin is the bridge between that and your WooCommerce store.

== External services ==

This plugin connects to Busy Firm (https://www.busyfirm.com), which provides the design tool and the printing and fulfilment behind it. The plugin does not function without it.

**When the designer is opened.** Your server asks https://www.busyfirm.com/api/plugins/designer/embed-token for a
short-lived link (sending your API key, your site's address and, if set, the Busy Firm product ID). Only that
link reaches the page - your API key never does. The design is created inside the frame and, once your
customer approves the proof, saved to your Busy Firm account.

**When a design is added to the cart.** The plugin sends the design ID, your API key and your site's domain to https://www.busyfirm.com/api/plugins/designer/verify, to confirm the design exists and belongs to your account. No customer details are sent.

**When an order is paid** (only if you chose to have orders printed for you). The plugin sends to https://www.busyfirm.com/api/plugins/designer/orders: your API key, your site's domain, the WooCommerce order number, the design IDs and quantities on that order, and the shipping name, address, and the billing email address — the details required to produce and deliver the item. This is the only point at which personal data leaves your site, and it happens only for orders that contain a design.

**When you save the settings page.** Your API key and your site's domain are sent to https://www.busyfirm.com/api/plugins/init to check the key is valid.

No data is sent for visitors who never open the designer, and nothing is sent on page views.

Busy Firm's terms of service: https://www.busyfirm.com/terms
Busy Firm's privacy policy: https://www.busyfirm.com/privacy

== Installation ==

1. Install and activate the plugin.
2. Go to **WooCommerce → Product Designer** and paste the API key from your Busy Firm account. The page tells you straight away whether it connected.
3. Edit any product, open **Product data → General**, and tick **Customers can design this**.
4. Optionally set a Busy Firm product ID to fix which blank it prints on. Leave it empty to let the customer choose.

The product page now shows a Customize button.

== Frequently Asked Questions ==

= Do I need a Busy Firm account? =

Yes. The design tool and the printing behind it run on Busy Firm, and the plugin needs an API key from your account to talk to it.

= Does this change my prices? =

No. WooCommerce charges exactly what you set on the product. The design is attached to the line item; nothing in this plugin can alter what a customer is charged.

= What happens if the hand-off to production fails? =

It is written to the order as a note rather than silently dropped, so you can see it and retry. A production hand-off that fails quietly is how a paid order never ships.

= Will the same order be produced twice? =

No. WooCommerce fires both `processing` and `completed` for the same order, and merchants retry failed hand-offs, so the order is keyed on your store's order number and only ever produced once.

= Can a customer attach someone else's design to their order? =

No. The design reference arrives through the browser, so it is re-checked on the server against the account behind your API key before it is attached to anything.

== Screenshots ==

1. The Customize button on a product page.
2. The designer, open in place on the store.
3. The design shown on the cart line.
4. The settings page, with the connection confirmed.

== Changelog ==

= 1.4.0 - 2026-10-04 =
* Connect your own Printful account: every paid order is created there with the right variant, the
  print-ready file and the shipping address - as a draft to review, or straight to production.

= 1.3.0 - 2026-10-04 =
* My blanks: add the garments you stock - a photo per colour per side, drag to mark each print area, set
  its real width - and create the WooCommerce product in one click.
* Your own artwork, your logo in the designer (or no branding at all), and a print-quality check before
  your customer approves.

= 1.2.0 - 2026-10-04 =
* A Designer tab on every product: choose the print areas, techniques, tools and template categories.
* Pricing for print shops: per extra print area, screen setup per ink colour, quantity breaks, rush.
* Every paid order also lands in your CRM - customer and order - whoever prints it.

= 1.1.0 - 2026-10-04 =
* Customers approve a proof before the design goes on their order.
* Print it yourself: every order carries the approved proof and a print-ready file - or send paid
  orders to be printed and shipped for you.
* Your API key now stays on your server; the designer opens with a short-lived link.
* The approved design shows on the product page, in the cart and on the order.

= 1.0.0 =
* First release: customers design a product on your WooCommerce store - text, art, uploads and AI -
  and the design travels with the order.

== Upgrade Notice ==

= 1.0.0 =
First release.
