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!urlResourceUrl!nameStringdescriptionStringfeaturedImageImagemedia[Image!]!priceInt!visibilityProductVisibility!saleProductSalePeriod!purchaseRulesProductPurchaseRules!pricingRules[PricingRule!]!effectivePriceInt!taxCodeStringsortOrderInt!createdAtDateTime!recentPurchases[ProductPurchase!]!Arguments (1)
purchasesProductPurchaseConnection!Arguments (3)
weeklyPurchases[ProductPurchasesInWeek!]!Arguments (1)
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.
metadataStringFirst 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.
inventoryIntCurrent 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.
fulfillmentInstructionsStringFree-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.