> For the complete documentation index, see [llms.txt](https://developer.firmhouse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.firmhouse.com/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product-with-utils.md).

# Interface: FirmhouseOrderedProductWithUtils

## Properties

| Property                       | Type                                                                                                                                         | Description                                                                  | Inherited from                                                                                                                                                                                                                          |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `createdAt`                    | `string` \| `null`                                                                                                                           | The time when the ordered product was created                                | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`createdAt`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#createdat)                                       |
| `followsPlanSchedule`          | () => `boolean`                                                                                                                              | Utility to check if the ordered product follows the plan schedule            | [`FirmhouseOrderedProductUtils`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product-utils.md).[`followsPlanSchedule`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product-utils.md#followsplanschedule)  |
| `graceCancellationEndsAt`      | `string` \| `null`                                                                                                                           | The time when the grace cancellation period ends                             | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`graceCancellationEndsAt`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#gracecancellationendsat)           |
| `id`                           | `string`                                                                                                                                     | ID to identify the ordered product with                                      | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`id`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#id)                                                     |
| `interval`                     | `number` \| `null`                                                                                                                           | The amount of time in units between shipments of this order                  | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`interval`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#interval)                                         |
| `intervalUnitOfMeasure`        | `string` \| `null`                                                                                                                           | The time measure for interval units                                          | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`intervalUnitOfMeasure`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#intervalunitofmeasure)               |
| `intervalUnitOfMeasureType`    | \| [`OrderedProductIntervalUnitOfMeasure`](/sdks/firmhouse-sdk/reference/enumerations/ordered-product-interval-unit-of-measure.md) \| `null` | The time when the maximum commitment period ends                             | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`intervalUnitOfMeasureType`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#intervalunitofmeasuretype)       |
| `maximumCommitmentEndsAt`      | `string` \| `null`                                                                                                                           | Metadata makes it possible to store additional information on objects.       | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`maximumCommitmentEndsAt`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#maximumcommitmentendsat)           |
| `metadata`                     | `unknown`                                                                                                                                    | The time when the minimum commitment period ends                             | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`metadata`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#metadata)                                         |
| `minimumCommitmentEndsAt`      | `string` \| `null`                                                                                                                           | Type of ordered products                                                     | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`minimumCommitmentEndsAt`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#minimumcommitmentendsat)           |
| `plan`                         | \| { `id`: `string`; } \| `null`                                                                                                             | If added as part of a plan, this will be the reference.                      | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`plan`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#plan)                                                 |
| `priceExcludingTaxCents`       | `number` \| `null`                                                                                                                           | The price of the product for this subscription excluding tax in cents        | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`priceExcludingTaxCents`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#priceexcludingtaxcents)             |
| `priceIncludingTaxCents`       | `number` \| `null`                                                                                                                           | The price of the product for this subscription including tax in cents        | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`priceIncludingTaxCents`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#priceincludingtaxcents)             |
| `product`                      | [`FirmhouseProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-product.md)                                                          | The associated product record for this order line                            | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`product`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#product)                                           |
| `productId`                    | `string`                                                                                                                                     | The associated product record for this order line                            | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`productId`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#productid)                                       |
| `quantity`                     | `number` \| `null`                                                                                                                           | The amount ordered for this product                                          | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`quantity`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#quantity)                                         |
| `recurring`                    | `boolean`                                                                                                                                    | Whether this product will get shipped or charged recurringly.                | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`recurring`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#recurring)                                       |
| `shipmentDate`                 | `string` \| `null`                                                                                                                           | The next date on which a new order should get initiated                      | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`shipmentDate`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#shipmentdate)                                 |
| `shipsOnlyOnce`                | () => `boolean`                                                                                                                              | Utility to check if the ordered product is delivered only once               | [`FirmhouseOrderedProductUtils`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product-utils.md).[`shipsOnlyOnce`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product-utils.md#shipsonlyonce)              |
| `status`                       | [`OrderedProductStatus`](/sdks/firmhouse-sdk/reference/enumerations/ordered-product-status.md)                                               | -                                                                            | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`status`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#status)                                             |
| `title`                        | `string` \| `null`                                                                                                                           | Name of the product                                                          | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`title`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#title)                                               |
| `totalAmountExcludingTaxCents` | `number` \| `null`                                                                                                                           | The total amount based on the unit price \* quantity excluding tax, in cents | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`totalAmountExcludingTaxCents`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#totalamountexcludingtaxcents) |
| `totalAmountIncludingTaxCents` | `number` \| `null`                                                                                                                           | The total amount based on the unit price \* quantity including tax, in cents | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`totalAmountIncludingTaxCents`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#totalamountincludingtaxcents) |
| `totalOrdered`                 | `number` \| `null`                                                                                                                           | The total amount that the customer has ordered of this product upto now      | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`totalOrdered`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#totalordered)                                 |
| `updatedAt`                    | `string` \| `null`                                                                                                                           | The time when the ordered product was updated                                | [`FirmhouseOrderedProduct`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md).[`updatedAt`](/sdks/firmhouse-sdk/reference/interfaces/firmhouse-ordered-product.md#updatedat)                                       |
