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

# Resource Details List

> Returns detailed information for all published resources.

# Resource Details List

Returns full details for all published resources at the current location, including configuration, pricing, and availability metadata. Used to render the resources catalogue.

## Authentication

No authentication required.

## 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=Name,ResourceTypeName,Capacity,Visible`.
</ParamField>

## Response

Returns a `PublicResources` object containing an array of resource records with full detail.

### Resource Fields

#### Identity

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

#### Core

| Field                | Type      | Description                              |
| -------------------- | --------- | ---------------------------------------- |
| `Name`               | `string`  | Resource display name (localised)        |
| `Description`        | `string`  | Resource description (localised)         |
| `GroupName`          | `string`  | Resource group name                      |
| `ResourceTypeName`   | `string`  | Resource type display name (localised)   |
| `Visible`            | `boolean` | Whether the resource is publicly visible |
| `DisplayOrder`       | `number`  | Sort order in listings                   |
| `SystemResourceType` | `number`  | Internal resource type identifier        |

#### Location

| Field                | Type             | Description           |
| -------------------- | ---------------- | --------------------- |
| `BusinessId`         | `number`         | Location identifier   |
| `BusinessName`       | `string`         | Location display name |
| `BusinessWebAddress` | `string`         | Location subdomain    |
| `Longitude`          | `number \| null` | Longitude coordinate  |
| `Latitude`           | `number \| null` | Latitude coordinate   |

#### Capacity & Booking Rules

| Field                              | Type             | Description                                    |
| ---------------------------------- | ---------------- | ---------------------------------------------- |
| `Allocation`                       | `number \| null` | Maximum concurrent bookings                    |
| `AllowMultipleBookings`            | `boolean`        | Whether multiple bookings are allowed          |
| `RequiresConfirmation`             | `boolean`        | Whether bookings require admin confirmation    |
| `BookInAdvanceLimit`               | `number \| null` | Max days in advance a booking can be made      |
| `LateBookingLimit`                 | `number \| null` | Min hours before a booking can start           |
| `LateCancellationLimit`            | `number \| null` | Min hours before booking for free cancellation |
| `IntervalLimit`                    | `number \| null` | Required gap between bookings (minutes)        |
| `MaxBookingLength`                 | `number \| null` | Maximum booking duration (minutes)             |
| `MinBookingLength`                 | `number \| null` | Minimum booking duration (minutes)             |
| `NoReturnPolicy`                   | `number \| null` | Hours before same resource can be rebooked     |
| `NoReturnPolicyAllResources`       | `number \| null` | Hours before any resource can be rebooked      |
| `NoReturnPolicyAllUsers`           | `number \| null` | Hours before any user can rebook               |
| `RepeatBookingQuantityLimit`       | `number \| null` | Max quantity for repeat bookings               |
| `RepeatBookingPeriodLimitInMonths` | `number \| null` | Max period for repeat bookings (months)        |

#### Amenities

| Field                  | Type      | Description               |
| ---------------------- | --------- | ------------------------- |
| `Projector`            | `boolean` | Has projector             |
| `Internet`             | `boolean` | Has internet              |
| `ConferencePhone`      | `boolean` | Has conference phone      |
| `StandardPhone`        | `boolean` | Has standard phone        |
| `WhiteBoard`           | `boolean` | Has whiteboard            |
| `LargeDisplay`         | `boolean` | Has large display         |
| `Catering`             | `boolean` | Has catering              |
| `TeaAndCoffee`         | `boolean` | Has tea and coffee        |
| `Drinks`               | `boolean` | Has drinks                |
| `SecurityLock`         | `boolean` | Has security lock         |
| `CCTV`                 | `boolean` | Has CCTV                  |
| `VoiceRecorder`        | `boolean` | Has voice recorder        |
| `AirConditioning`      | `boolean` | Has air conditioning      |
| `Heating`              | `boolean` | Has heating               |
| `NaturalLight`         | `boolean` | Has natural light         |
| `StandingDesk`         | `boolean` | Has standing desk         |
| `QuietZone`            | `boolean` | Is in a quiet zone        |
| `WirelessCharger`      | `boolean` | Has wireless charger      |
| `PrivacyScreen`        | `boolean` | Has privacy screen        |
| `VideoConferencing`    | `boolean` | Has video conferencing    |
| `DualDisplayScreen`    | `boolean` | Has dual display screens  |
| `DisplayScreen`        | `boolean` | Has display screen        |
| `WirelessPresentation` | `boolean` | Has wireless presentation |
| `PaSystem`             | `boolean` | Has PA system             |
| `DesktopMonitor`       | `boolean` | Has desktop monitor       |
| `FlipChart`            | `boolean` | Has flip chart            |
| `SecureStorage`        | `boolean` | Has secure storage        |
| `Soundproof`           | `boolean` | Is soundproofed           |

#### Media & Floor Plan

| Field            | Type             | Description                         |
| ---------------- | ---------------- | ----------------------------------- |
| `HasImage`       | `boolean`        | Whether the resource has an image   |
| `FloorPlanDesks` | `object[]`       | Available floor plan desk positions |
| `FloorPlanId`    | `number \| null` | Floor plan identifier               |

#### Availability (computed)

| Field            | Type      | Description                   |
| ---------------- | --------- | ----------------------------- |
| `IsAvailable`    | `boolean` | Whether currently available   |
| `AvailableUnits` | `number`  | Number of available units     |
| `Price`          | `number`  | Computed booking price        |
| `PriceFormatted` | `string`  | Price formatted with currency |
| `Message`        | `string`  | Availability message          |
| `ErrorCode`      | `string`  | Error code if unavailable     |

#### 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 resource details

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

## TypeScript Integration

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

const { resource: resources } = useTypedData(httpClient, endpoints.resources.details())
```
