Skip to main content

Products Model

Use GET /products to discover products across businesses. The public operation is Product.all; it does not declare operation-level authentication.

Product lookup follows one of two paths:

  • Without order_type_id or type, it delegates to the general product listing behavior.
  • With a fulfillment type, it evaluates availability through businesses, delivery zones, menus, schedules, and product state.

Availability parameters​

  • timestamp is interpreted as a Unix timestamp when present.
  • location uses LAT,LNG and must contain exactly two numeric values.
  • dropdown_option_id or dropdownoption can select a configured delivery-zone option instead of coordinates.
  • order_type_id or type selects the fulfillment mode.
  • professional_id can scope products for professional assignments.
  • groupBy=business changes the result from products to matching businesses in the availability branch.

Fulfillment modes include:

ValueMode
1delivery
2pickup
3eatin
4curbside
5driver_thru
6seat_delivery
7catering_delivery
8catering_pickup
9reservation

Fields such as offer_rate, offer_rate_type, and offer_include_options belong to the product model; they are not query parameters for GET /products.

The Product model contains many additional catalog, inventory, pricing, SEO, dietary, and operational fields. Use sparse projections and operation-specific schemas instead of treating this guide as a complete response contract.

Schema properties​

Schema: Product

NameTypeDescription
allergensobject | array | null—
barcodestring | null—
barcode_alternativestring | null—
caloriesnumber | null—
category_idinteger | null—
cost_offer_pricenumber | null—
cost_pricenumber | null—
created_atstring | null—
deleted_atstring | null—
descriptionstring | null—
dietary_tagsobject | array | null—
durationany—
enabledboolean | null—
estimated_personinteger | null—
external_idinteger | null—
featuredboolean | null—
fee_idinteger | null—
hide_special_instructionsboolean | null—
idinteger | null—
imagesstring | null—
in_offerboolean | null—
inventoriedboolean | null—
is_alcoholboolean | null—
is_hiddenboolean | null—
load_typestring | null—
maximum_per_orderinteger | null—
minimum_per_orderinteger | null—
namestring | null—
offer_include_optionsboolean | null—
offer_pricenumber | null—
offer_ratenumber | null—
offer_rate_typeinteger | null—
pricenumber | null—
quantityinteger | null—
ranknumber | null—
seo_descriptionstring | null—
seo_imagestring | null—
seo_keywordsstring | null—
seo_titlestring | null—
skustring | null—
slugstring | null—
snooze_untilany—
tax_idinteger | null—
typeany—
updated_atstring | null—
upsellingboolean | null—
weightnumber | null—
weight_unitstring | null—