# 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`](https://developer.firmhouse.com/sdks/firmhouse-sdk/reference/enumerations/commitment-unit)                | 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`](https://developer.firmhouse.com/sdks/firmhouse-sdk/reference/enumerations/maximum-commitment-unit) | 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`](https://developer.firmhouse.com/sdks/firmhouse-sdk/reference/enumerations/commitment-unit)                | 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                                                           |
