---
title: "Business product model"
description: "The Product resource belongs to a business category and describes an item that can be displayed or ordered."
canonical: https://docs.ordering.co/api-reference/guides/product-model/
---

# Business product model

The `Product` resource belongs to a business category and describes an item that can be displayed or ordered.

## Core operations

| Action | Method   | Resource                                                                 |
| ------ | -------- | ------------------------------------------------------------------------ |
| List   | `GET`    | `/business/{business_id}/categories/{category_id}/products`              |
| Find   | `GET`    | `/business/{business_id}/categories/{category_id}/products/{product_id}` |
| Create | `POST`   | `/business/{business_id}/categories/{category_id}/products`              |
| Update | `POST`   | `/business/{business_id}/categories/{category_id}/products/{product_id}` |
| Delete | `DELETE` | `/business/{business_id}/categories/{category_id}/products/{product_id}` |

Create, update, and delete require administrator or business-manager authentication and business/category ownership context.

## Representative fields

| Group                  | Representative fields                                                                          |
| ---------------------- | ---------------------------------------------------------------------------------------------- |
| Identity and content   | `id`, `category_id`, `name`, `description`, `slug`, `sku`, `external_id`                       |
| Price and offer        | `price`, `in_offer`, `offer_price`, `offer_rate`, `offer_rate_type`, `offer_include_options`   |
| Availability           | `enabled`, `inventoried`, `quantity`, `minimum_per_order`, `maximum_per_order`, `snooze_until` |
| Presentation           | `images`, `featured`, `rank`, `upselling`, `hide_special_instructions`                         |
| Catalog and compliance | `extras`, `tax_id`, `fee_id`, `allergens`, `dietary_tags`, `calories`, `weight`, `weight_unit` |

Field presence in the model does not make it valid in every request or response.

`inventoried` and `quantity` represent inventory-related behavior. Minimum/maximum-per-order fields constrain cart quantities where supported. Offer fields describe operation-specific offer projections.

The `upselling` flag supports presenting a product as an additional suggestion. Options or extras can require further selection before the item is added.

For gallery-specific fields, see the [Product Gallery model](https://docs.ordering.co/api-reference/guides/product-gallery-model/).
