> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Booking Products

> Returns the add-on products available for a specific resource.

# Booking Products

Returns the add-on products (e.g. catering, equipment) that can be included with a booking for a specific resource.

## Authentication

No authentication required.

## Path Parameters

<ParamField path="resourceId" type="number" required>
  Numeric identifier of the resource.
</ParamField>

## Query Parameters

<ParamField query="_shape" type="string">
  Comma-separated list of field paths to include in the response. When provided, only the
  specified fields are returned — useful for reducing payload size. Supports nested paths
  using dot notation. Example: `_shape=Products.Name,Products.Price`.
</ParamField>

## Response

Returns an object with a `Products` array. Each product has the following fields:

#### Product Item

| Field                | Type      | Description                                                                                     |
| -------------------- | --------- | ----------------------------------------------------------------------------------------------- |
| `Id`                 | `number`  | Unique identifier for the resource-product link                                                 |
| `ProductId`          | `number`  | Product identifier                                                                              |
| `ProductName`        | `string`  | Display name of the product                                                                     |
| `ProductDescription` | `string`  | Description of the product                                                                      |
| `Product`            | `Product` | Full product object (nested — see [List Store Products](/api/endpoints/products/list-products)) |
| `Tags`               | `string`  | Product tags                                                                                    |
| `RequestQuantity`    | `boolean` | Whether the user can specify a quantity                                                         |
| `Quantity`           | `number`  | Default quantity                                                                                |
| `InvoiceInMinutes`   | `number?` | Billing interval in minutes                                                                     |
| `Price`              | `number`  | Price amount                                                                                    |
| `FormattedPrice`     | `string`  | Locale-formatted price string                                                                   |
| `CurrencyCode`       | `string`  | ISO currency code                                                                               |
| `Selected`           | `boolean` | Whether the product is pre-selected                                                             |
| `TrackStock`         | `boolean` | Whether stock tracking is enabled                                                               |
| `AllowNegativeStock` | `boolean` | Whether negative stock is allowed                                                               |
| `CurrentStock`       | `number?` | Current available stock                                                                         |

## Examples

### Fetch booking products

```http theme={null}
GET /api/public/resources/published/88/products
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const { resource: products } = useTypedData(httpClient, endpoints.bookings.bookingProducts(88))
```
