[**@bondsports/general**](../README.md) • **Docs**

***

[@bondsports/general](../globals.md) / IProductPrice

# Interface: IProductPrice

## Properties

### defaultUnitPrice?

> `optional` **defaultUnitPrice**: `number`

#### Defined in

[types/cart.ts:10](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L10)

***

### groupId?

> `optional` **groupId**: `string`

The cart-item group this product belongs to. `updateCartPrices` does not match on it.
Same-rate lines share one product price (`productId` + `priceId` + `originalUnitPrice`);
each line keeps its own total.

#### Defined in

[types/cart.ts:24](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L24)

***

### keepTotalPrice?

> `optional` **keepTotalPrice**: `boolean`

When true, `totalPrice` for this product is sticky and `updateCartPrices`
must not recompute it. Honored only on the INDIVIDUAL update path;
CATEGORY and GLOBAL update paths always recompute and ignore this flag.

#### Defined in

[types/cart.ts:30](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L30)

***

### originalUnitPrice?

> `optional` **originalUnitPrice**: `number`

used internally to store the original unit price

#### Defined in

[types/cart.ts:18](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L18)

***

### priceId

> **priceId**: `number`

#### Defined in

[types/cart.ts:7](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L7)

***

### productId

> **productId**: `number`

#### Defined in

[types/cart.ts:6](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L6)

***

### quantity

> **quantity**: `number`

#### Defined in

[types/cart.ts:8](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L8)

***

### subtotal

> **subtotal**: `number`

#### Defined in

[types/cart.ts:12](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L12)

***

### taxAmount?

> `optional` **taxAmount**: `number`

#### Defined in

[types/cart.ts:14](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L14)

***

### taxes?

> `optional` **taxes**: [`CalculatedTax`](../type-aliases/CalculatedTax.md)\<[`ITaxBase`](ITaxBase.md)\>[]

#### Defined in

[types/cart.ts:11](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L11)

***

### totalPrice

> **totalPrice**: `number`

#### Defined in

[types/cart.ts:13](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L13)

***

### unitPrice

> **unitPrice**: `number`

#### Defined in

[types/cart.ts:9](https://github.com/Bond-Sports/bondUtils/blob/545f16ceb055481acfd7641d7809c0f252d3a5e6/packages/general/src/types/cart.ts#L9)
