Whether this product may be cancelled online by customers. A value of unpaid means this product may be cancelled only if no payments have been recorded against the order it is part of.
The minimum duration that must be left before the booking this product is a part of in order for the customer to cancel, as an ISO8601 string. See https://en.wikipedia.org/wiki/ISO_8601#Durations
List the retail products available across the sites the caller's API
key can access. Results are paginated and support filtering by free-text
query, exact product code and inventory category. Use the show endpoint
to retrieve the full product detail for any item returned here.
Display name of the retail product, shown on the storefront,
in the POS product picker, on receipts, and on reports. Plain
text; must not contain HTML. 1-255 characters.
Optional identifier of the inventory product that backs this
retail product. When linked, sales of this product decrement
stock on the inventory product. Pass null for products that
do not draw down stock.
Media ID of the primary product image, shown on the storefront
product page and in the POS picker. Upload via
createMedia first and pass
the returned ID here.
Fetch the full record for a single retail product, including its
inventory link, pricing and metadata. Returns 404 if the ID is not
visible to the caller's site scope.
Patch the editable fields on a retail product (e.g. product code,
linked inventory product). Requires the SETTINGS_MANAGE permission;
fields omitted from the body are left untouched.
Display name of the retail product, shown on the storefront,
in the POS product picker, on receipts, and on reports. Plain
text; must not contain HTML. 1-255 characters.
Site-unique SKU used to identify this product at the till and on receipts. Free-text and not validated against any pattern; choose a stable identifier that maps cleanly to your accounting or stock system. Pass null to clear an existing code.
ID of the linked stock-tracked inventory product. When set, each sale of this retail product decrements the inventory item's stock count; pass null to break the link and stop tracking inventory for this product.
Whether this product may be cancelled online by customers. A value of unpaid means this product may be cancelled only if no payments have been recorded against the order it is part of
The minimum duration that must be left before the booking this product is a part of in order for the customer to cancel, as an ISO8601 string. See https://en.wikipedia.org/wiki/ISO_8601#Durations
Soft-deletes a retail product. The product is hidden from the
storefront and cannot be added to new baskets; existing orders that
already contain the product are unaffected. Use
POST /shop/products/{productId}/restore to bring a deleted product
back.
Creates a copy of an existing Product with new fields applied
from the request body. Useful when seeding a new product off an
existing one rather than building from scratch.
Requires the SETTINGS_MANAGE permission on the original product's
site. The new product is created at the same site as the source.
Visibility override for the new copy. public shows it
to everyone; hidden keeps it out of search/browse
(still purchasable by direct link); members_only
restricts to permitted membership-type holders.
Returns all PriceRules configured for the given Product,
filterable by date range. Product price rules let you charge
different prices for the same product at different times — e.g.
seasonal promotions, peak vs off-peak. The first rule whose
conditions match the time of sale wins.
Product price rules are simpler than appointment/session
equivalents: they only support date-range filters (no time-of-day
or weekday conditions).
Adds a new PriceRule to a Product. Set price and optionally a
date_from/date_to window. With no date filters the rule
applies always — useful as a fallback baseline price.
Requires the update permission on the parent Product
(typically SETTINGS_MANAGE on the product's site).
Removes a PriceRule from a Product. Past orders already priced
under this rule are unaffected — they retain the price set at
order time. Future sales are repriced from whatever rules remain
(falling back to the product's base price if none apply).
Un-deletes a previously soft-deleted Product. The product returns
to its pre-deletion state, including price, inventory associations,
and categories. Existing orders containing the product remain
unaffected.
Requires the SETTINGS_MANAGE permission on the product's site.
No request body.
Looks up a single retail product by its barcode. Returns 404 if
no product with the supplied barcode is visible to the caller's
site scope. For barcode-driven product search with site scoping
consider GET /shop/barcode-search/products/{code} instead.