Shutter
Hide prices, or just the cart, from the people you choose - with a log-in link, a phone number, an enquiry form or your own words instead.
Shutter is for shops that show their products to everyone but prices or ordering only to some.



Inside Shutter
Rules in a few lines
who (everyone, guests, signed-in customers, a role, a country, accounts waiting for approval) | where (everything, a category, a product) | hide (the price, or just the cart) | instead.
Instead
"Log in to see prices", a phone number that dials, an "Ask for a price" form that emails you, or your own words.
A rule can only hide more
if any rule hides a price from someone, it stays hidden - a product's "call to order" rule never shows guests the price you hide from guests.
Who sees what
a grid on the settings screen shows every kind of visitor against your newest products, and which line decided.
Hidden means hidden
a product whose cart is hidden cannot be bought any other way, and a hidden price is taken out of the product data search engines read.
Accounts waiting for approval
new accounts can wait until you approve them on their profile; they are emailed when you do.
Closed for orders
switch off the cart and checkout between two dates, with a message - the shop stays open to browse.
Before you start
Asked first
Does it work with a page cache?
Most caches already skip signed-in visitors, which covers rules for customers, roles and approval. Rules by country need a cache that varies by country, or none on shop pages.
How is a visitor's country known?
A signed-in customer's billing country; otherwise WooCommerce's own geolocation.
More for the storefront

Addendum
Extra product fields with prices, and a customer artwork upload - checked by what the file really is, kept private.

Admittance
Sell event tickets as WooCommerce products, email a named ticket with a QR code per seat, and check people in at the door from a phone.

Chit
One store-credit balance per customer - no codes. Refund as credit, give credit with a reason, spend it at checkout.