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

# Get Resource

> Returns the full details for a single published resource.

# Get Resource

Returns the complete details for a single published resource, including configuration, pricing, images, and custom fields.

## 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=Name,Description,ResourceTypeName,Price,PriceFormatted,Allocation`.
</ParamField>

## Response

Returns a `Resource` object with the full resource configuration. See [Resource Details](/api/endpoints/resources/resource-details) for the complete field reference.

#### Identity

| Field         | Type     | Description                                  |
| ------------- | -------- | -------------------------------------------- |
| `Id`          | `number` | Unique identifier for the resource           |
| `UniqueId`    | `string` | GUID identifier                              |
| `Name`        | `string` | Display name of the resource                 |
| `Description` | `string` | Full resource description (may contain HTML) |

#### Core

| Field                | Type           | Description                       |
| -------------------- | -------------- | --------------------------------- |
| `ResourceTypeName`   | `string`       | Resource type name                |
| `ResourceType`       | `ResourceType` | Resource type object (nested)     |
| `GroupName`          | `string`       | Group name for categorisation     |
| `SystemResourceType` | `number`       | Internal resource type identifier |
| `Visible`            | `boolean`      | Whether the resource is visible   |
| `DisplayOrder`       | `number`       | Sort order for display            |
| `HasImage`           | `boolean`      | Whether the resource has an image |
| `Message`            | `string`       | Custom message for the resource   |

#### Location

| Field                | Type      | Description          |
| -------------------- | --------- | -------------------- |
| `BusinessId`         | `number`  | Business identifier  |
| `BusinessName`       | `string`  | Business name        |
| `BusinessWebAddress` | `string`  | Business web address |
| `Longitude`          | `number?` | GPS longitude        |
| `Latitude`           | `number?` | GPS latitude         |

#### Pricing

| Field            | Type     | Description            |
| ---------------- | -------- | ---------------------- |
| `Price`          | `number` | Base price             |
| `PriceFormatted` | `string` | Locale-formatted price |

#### Capacity & Booking Rules

| Field                              | Type      | Description                             |
| ---------------------------------- | --------- | --------------------------------------- |
| `Allocation`                       | `number?` | Maximum capacity                        |
| `AllowMultipleBookings`            | `boolean` | Whether multiple bookings are allowed   |
| `RequiresConfirmation`             | `boolean` | Whether bookings require confirmation   |
| `BookInAdvanceLimit`               | `number?` | How far in advance bookings can be made |
| `LateBookingLimit`                 | `number?` | Latest a booking can be made            |
| `LateCancellationLimit`            | `number?` | Cancellation deadline                   |
| `IntervalLimit`                    | `number?` | Minimum interval between bookings       |
| `MaxBookingLength`                 | `number?` | Maximum booking duration                |
| `MinBookingLength`                 | `number?` | Minimum booking duration                |
| `NoReturnPolicy`                   | `number?` | No-return policy value                  |
| `RepeatBookingQuantityLimit`       | `number?` | Repeat booking quantity limit           |
| `RepeatBookingPeriodLimitInMonths` | `number?` | Repeat booking period limit             |

#### 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` | Catering available        |
| `TeaAndCoffee`         | `boolean` | Tea and coffee available  |
| `Drinks`               | `boolean` | Drinks available          |
| `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 a quiet zone           |
| `WirelessCharger`      | `boolean` | Has wireless charger      |
| `PrivacyScreen`        | `boolean` | Has privacy screen        |
| `VideoConferencing`    | `boolean` | Has video conferencing    |
| `DualDisplayScreen`    | `boolean` | Has dual display screen   |
| `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 soundproof             |

#### Availability

| Field              | Type      | Description                                 |
| ------------------ | --------- | ------------------------------------------- |
| `IsAvailable`      | `boolean` | Whether the resource is currently available |
| `AvailableUnits`   | `number`  | Number of available units                   |
| `Shifts`           | `Shift[]` | Available shift definitions                 |
| `ShiftsExpression` | `string`  | Shift schedule expression                   |
| `LastCleanedAt`    | `string?` | When the resource was last cleaned          |

#### Floor Plan

| Field            | Type              | Description             |
| ---------------- | ----------------- | ----------------------- |
| `FloorPlanDesks` | `FloorPlanDesk[]` | Floor plan desk objects |
| `FloorPlanId`    | `number?`         | Floor plan identifier   |
| `CustomFields`   | `CustomField[]`   | Custom field values     |

#### Timestamps (from base)

| Field          | Type     | Description                          |
| -------------- | -------- | ------------------------------------ |
| `CreatedOn`    | `string` | Record creation timestamp (local)    |
| `UpdatedOn`    | `string` | Record last-update timestamp (local) |
| `CreatedOnUtc` | `string` | Record creation timestamp (UTC)      |
| `UpdatedOnUtc` | `string` | Record last-update timestamp (UTC)   |

## Examples

### Fetch a resource

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

## TypeScript Integration

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

const { resource: res } = useTypedData(httpClient, endpoints.resources.one(88))
```
