> ## 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 Suggestions

> Returns AI-generated booking pattern suggestions for the authenticated customer.

# Booking Suggestions

Returns personalised booking suggestions based on the customer's historical usage patterns. Used to offer smart re-booking options on the dashboard.

## Authentication

Requires a valid customer bearer token.

## 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.
</ParamField>

## Response

Returns a `BookingSuggestions` object containing an array of suggested bookings based on the customer's usage patterns.

### Top-Level Fields

| Field         | Type       | Description                         |
| ------------- | ---------- | ----------------------------------- |
| `Suggestions` | `object[]` | Array of booking suggestion objects |

### Suggestion Fields (BookingDrop)

#### Identity

| Field      | Type     | Description                               |
| ---------- | -------- | ----------------------------------------- |
| `Id`       | `number` | Unique numeric identifier for the booking |
| `UniqueId` | `string` | Globally unique identifier                |

#### Resource

| Field                        | Type     | Description                         |
| ---------------------------- | -------- | ----------------------------------- |
| `ResourceName`               | `string` | Resource display name               |
| `ResourceId`                 | `number` | Resource identifier                 |
| `ResourceTypeName`           | `string` | Resource type (e.g. `Meeting Room`) |
| `ResourceTypeId`             | `number` | Resource type identifier            |
| `ResourceBusinessId`         | `number` | Location identifier                 |
| `ResourceBusinessName`       | `string` | Location display name               |
| `ResourceBusinessWebAddress` | `string` | Location subdomain                  |

#### Schedule

| Field         | Type     | Description                 |
| ------------- | -------- | --------------------------- |
| `FromTime`    | `string` | Start time (business-local) |
| `ToTime`      | `string` | End time (business-local)   |
| `FromTimeUtc` | `string` | Start time (UTC)            |
| `ToTimeUtc`   | `string` | End time (UTC)              |

#### Status

| Field           | Type             | Description                           |
| --------------- | ---------------- | ------------------------------------- |
| `Tentative`     | `boolean`        | Whether the booking is tentative      |
| `Invoiced`      | `boolean`        | Whether the booking has been invoiced |
| `IsCancelled`   | `boolean`        | Whether the booking is cancelled      |
| `BookingNumber` | `number \| null` | Booking reference number              |

#### Timestamps (from base)

| Field          | Type             | Description                             |
| -------------- | ---------------- | --------------------------------------- |
| `CreatedOn`    | `string`         | Date created (business-local time)      |
| `UpdatedOn`    | `string \| null` | Date last updated (business-local time) |
| `CreatedOnUtc` | `string`         | Date created (UTC)                      |
| `UpdatedOnUtc` | `string \| null` | Date last updated (UTC)                 |

## Examples

### Fetch suggestions

```http theme={null}
GET /api/public/bookings/suggestions
Authorization: Bearer {token}
```

## TypeScript Integration

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

const { resource: suggestions } = useTypedData(httpClient, endpoints.bookings.suggestions())
```
