# FirmhouseProduct

A product that customers can subscribe to or that can be included in a plan.

## Properties

| Property                   | Type                                                                                                       | Description                                                                   |
| -------------------------- | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `available`                | `boolean`                                                                                                  | Whether the product is available for customers                                |
| `eligibleForDiscount`      | `boolean`                                                                                                  | Whether this product should be included when calculating discount on invoices |
| `graceCancellationEnabled` | `null` \| `boolean`                                                                                        | If the grace cancellation is enabled                                          |
| `graceCancellationPeriod`  | `null` \| `number`                                                                                         | The grace cancellation period                                                 |
| `graceCancellationUnit`    | `null` \| [`CommitmentUnit`](/sdks/firmhouse-sdk/reference/enumerations/commitment-unit.md)                | The grace cancellation unit                                                   |
| `id`                       | `string`                                                                                                   | The database ID for this product                                              |
| `imageUrl`                 | `null` \| `string`                                                                                         | URL to image of the product                                                   |
| `interval`                 | `null` \| `number`                                                                                         | The amount of time in units between shipments of this order                   |
| `intervalUnitOfMeasure`    | `null` \| `string`                                                                                         | The time measure for interval units                                           |
| `mandatory`                | `boolean`                                                                                                  | Will automatically get added on signup.                                       |
| `maximumCommitmentEnabled` | `null` \| `boolean`                                                                                        | If the maximum commitment is enabled                                          |
| `maximumCommitmentPeriod`  | `null` \| `number`                                                                                         | The maximum commitment period                                                 |
| `maximumCommitmentUnit`    | `null` \| [`MaximumCommitmentUnit`](/sdks/firmhouse-sdk/reference/enumerations/maximum-commitment-unit.md) | The maximum commitment unit                                                   |
| `metadata`                 | `unknown`                                                                                                  | Metadata makes it possible to store additional information on objects.        |
| `minimumCommitmentEnabled` | `null` \| `boolean`                                                                                        | If the minimum commitment is enabled                                          |
| `minimumCommitmentPeriod`  | `null` \| `number`                                                                                         | The minimum commitment period                                                 |
| `minimumCommitmentUnit`    | `null` \| [`CommitmentUnit`](/sdks/firmhouse-sdk/reference/enumerations/commitment-unit.md)                | The minimum commitment unit                                                   |
| `nthProductFree`           | `null` \| `number`                                                                                         | The nth product of this is free                                               |
| `priceCents`               | `null` \| `number`                                                                                         | The price of the product in cents                                             |
| `priceExcludingTaxCents`   | `null` \| `number`                                                                                         | The price of the product excluding tax in cents                               |
| `priceIncludingTaxCents`   | `null` \| `number`                                                                                         | The price of the product including tax in cents                               |
| `productType`              | `null` \| `string`                                                                                         | Either recurring or one\_time\_purchase                                       |
| `shopifyProductId`         | `null` \| `string`                                                                                         | The associated Shopify product\_id                                            |
| `shopifyVariantId`         | `null` \| `string`                                                                                         | The associated Shopify variant\_id                                            |
| `sku`                      | `null` \| `string`                                                                                         | The product SKU                                                               |
| `slug`                     | `string`                                                                                                   | The product slug                                                              |
| `supplier`                 | `null` \| `string`                                                                                         | The supplier of the product                                                   |
| `taxAmountCents`           | `null` \| `number`                                                                                         | The amount of tax for this product in cents                                   |
| `taxPercentage`            | `null` \| `number`                                                                                         | The tax percentage for this product                                           |
| `title`                    | `string`                                                                                                   | Name of the product                                                           |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.firmhouse.com/sdks/firmhouse-sdk/reference/interfaces/firmhouse-product.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
