Some product options aren’t separate products. “Add engraving (+$10)”, “Gift wrap”, “Deliver every 4 weeks (−10%)” — nobody stocks an engraved SKU. minipim models these as modifiers: order-time options that your commerce platform applies at checkout, without multiplying your variants.
Modifier types
Each modifier is one of: Select (single), Select (multi), Text (one line), Text (multiline), Number, Yes / no, or File upload.
Select and yes/no modifiers have choices, and each choice can carry a price change:
- Fixed — a set amount in integer cents and a currency, like +$10.00.
- Percent — a percentage of the price, like −10% for a subscription.
- None.
Text and number modifiers can carry limits — a maximum length for an engraving, or a minimum and maximum quantity.
Reusable across products
A modifier is defined once and attached to as many products as need it. On each product you choose whether it’s required and the order it appears in. Change the gift-wrap price on the modifier and every product using it picks up the change.
minipim validates every modifier write: no duplicate choice values, no price change on a choice that doesn’t exist, prices in whole cents, and limits that make sense for the type.
Where modifiers go
Modifiers come in from BigCommerce with their price adjusters, and are available to any storefront through the API, with helpers in the TypeScript SDK for applying price changes.
Good to know
- minipim stores and serves modifiers; your commerce platform applies them to the order.
- A modifier’s prices are the same on every product that uses it.
- Modifiers imported from BigCommerce are refreshed from BigCommerce on every pull, so edit those in BigCommerce.