Skip to content
PhysicalProductObject

A physical product (merchandise, equipment, etc.) offered by a business. Has finite inventory and must be fulfilled by staff handing the item to the purchaser after payment.

Implements

Fields

idID!
businessBusiness!
nameString
descriptionString
featuredImageImage
media[Image!]!
priceInt!
purchaseRulesProductPurchaseRules!
pricingRules[PricingRule!]!
effectivePriceInt!
taxCodeString
sortOrderInt!
createdAtDateTime!
recentPurchases[ProductPurchase!]!
Arguments (1)
limitInt= 20
Arguments (3)
firstInt= 50
afterString
weeklyPurchases[ProductPurchasesInWeek!]!
Arguments (1)
weeksInt= 12
purchasePageBlocks[PurchasePageBlock!]!

Ordered list of configurable blocks rendered on this product's purchase page (contract, signature, acknowledgement, recurring-summary, etc.). Empty for products that use the default purchase layout. config on each block is a JSON-encoded string.

metadataString

First value of the named metadata key, or null. Accepts the $. alias.

Arguments (1)
nameString!
metadataValues[String!]!

All values stored for the named metadata key, in order.

Arguments (1)
nameString!
metadataEntries[MetadataEntry!]!

All metadata stored on this product, one entry per key.

inventoryInt

Current stock on hand. Null means inventory is untracked (unlimited).

allowOversellingBoolean!

When true, purchases succeed even at zero inventory (inventory can go negative). When false, purchases are refused once inventory is exhausted. Ignored when inventory is null.

fulfillmentInstructionsString

Free-form copy shown to buyers and staff describing how the product will be handed over (e.g. "Pick up at the front desk during class hours").

soldOutBoolean!

Whether the product is currently unavailable because inventory is exhausted and overselling is disabled.

Used in

PhysicalProduct