> ## 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 one FloorPlanDesk

> Retrieve a single FloorPlanDesk record by its Id.

A **FloorPlanDesk** (referred to as a *floor plan unit* in the UI) represents a specific area or room placed on a floor plan. Each unit typically maps to a bookable resource or a space assigned to a customer through a contract.

There are five unit types controlled by `ItemType`:

| ItemType      | Typical use                                                   |
| ------------- | ------------------------------------------------------------- |
| Office        | Private office assigned to a customer via a contract          |
| DedicatedDesk | Desk permanently assigned to a customer via a contract        |
| HotDesk       | Shared desk bookable via a resource or assigned to a contract |
| Room          | Meeting room or bookable space linked to a resource           |
| Other         | Any area that does not match the types above                  |

Link a unit to a `Resource` via `ResourceId` to let customers book it through the floor plan view on the Members Portal. Assign it to one or more contracts via `CoworkerContractIds` to track occupancy.

Units can be monitored by an IoT sensor (`SensorId`). The last sensor reading is exposed via `SensorLastValue` and `IsSensorOccupied`.

Position and size on the canvas are maintained by the floor plan editor. `AvailableFromTime` / `AvailableToTime` allow time-bounded availability windows.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`FloorPlanDesk-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the FloorPlanDesk record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/sys/floorplandesks/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/sys/floorplandesks/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const record = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/sys/floorplandesks/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  record = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="FloorPlanId" type="integer">
  ID of the floor plan this unit belongs to.
</ResponseField>

<ResponseField name="FloorPlanName" type="string">
  Floor plan name.
</ResponseField>

<ResponseField name="FloorPlanBusinessId" type="integer">
  ID of the location that owns the floor plan.
</ResponseField>

<ResponseField name="FloorPlanBusinessCurrencyCode" type="string">
  Currency code of the location.
</ResponseField>

<ResponseField name="FloorPlanBusinessName" type="string">
  Location name.
</ResponseField>

<ResponseField name="FloorPlanCapacity" type="integer">
  Maximum capacity of the floor plan.
</ResponseField>

<ResponseField name="CoworkerId" type="integer">
  ID of the customer assigned to this unit (used for dedicated desks and offices).
</ResponseField>

<ResponseField name="CoworkerFullName" type="string">
  Full name of the assigned customer.
</ResponseField>

<ResponseField name="CoworkerCompanyName" type="string">
  Company name of the assigned customer.
</ResponseField>

<ResponseField name="CoworkerCoworkerType" type="string">
  Record type of the assigned customer (Individual or Company).
</ResponseField>

<ResponseField name="CoworkerEmail" type="string">
  Email address of the assigned customer.
</ResponseField>

<ResponseField name="CoworkerTeamNames" type="string">
  Names of the teams the assigned customer belongs to.
</ResponseField>

<ResponseField name="SensorId" type="integer">
  ID of the IoT sensor monitoring occupancy or environmental conditions in this unit.
</ResponseField>

<ResponseField name="SensorName" type="string">
  Sensor name.
</ResponseField>

<ResponseField name="SensorUnit" type="string">
  Unit of measurement reported by the sensor (e.g. °C, ppm).
</ResponseField>

<ResponseField name="SensorSensorType" type="string">
  Type of the linked sensor (e.g. PresenceDetection, PeopleCounter, Temperature).
</ResponseField>

<ResponseField name="SensorLastReceivedValue" type="string">
  Most recent raw value reported by the sensor.
</ResponseField>

<ResponseField name="SensorLastValueTriggeredAction" type="boolean">
  Whether the last sensor reading triggered a configured automation action.
</ResponseField>

<ResponseField name="Name" type="string">
  Display name of the floor plan unit (e.g. 'Office 3', 'Hot Desk 12').
</ResponseField>

<ResponseField name="ItemType" type="integer">
  Type of area this unit represents: Office, DedicatedDesk, HotDesk, Room, or Other. See `eFloorPlanItemType` enum values: `1` = Office, `2` = DedicatedDesk, `3` = HotDesk, `4` = Other, `5` = Room.
</ResponseField>

<ResponseField name="ResourceId" type="integer">
  ID of the bookable resource linked to this unit, enabling customers to book it via the floor plan view.
</ResponseField>

<ResponseField name="ResourceName" type="string">
  Linked resource name.
</ResponseField>

<ResponseField name="ResourceResourceTypeName" type="string">
  Resource type name of the linked resource.
</ResponseField>

<ResponseField name="ResourceAllocation" type="integer">
  Maximum simultaneous bookings allowed for the linked resource.
</ResponseField>

<ResponseField name="ResourceProjector" type="boolean">
  Whether the linked resource has a projector.
</ResponseField>

<ResponseField name="ResourceInternet" type="boolean">
  Whether the linked resource provides internet access.
</ResponseField>

<ResponseField name="ResourceConferencePhone" type="boolean">
  Whether the linked resource has a conference phone.
</ResponseField>

<ResponseField name="ResourceStandardPhone" type="boolean">
  Whether the linked resource has a standard phone.
</ResponseField>

<ResponseField name="ResourceWhiteBoard" type="boolean">
  Whether the linked resource has a whiteboard.
</ResponseField>

<ResponseField name="ResourceLargeDisplay" type="boolean">
  Whether the linked resource has a large display or TV screen.
</ResponseField>

<ResponseField name="ResourceCatering" type="boolean">
  Whether the linked resource offers catering services.
</ResponseField>

<ResponseField name="ResourceTeaAndCoffee" type="boolean">
  Whether the linked resource provides tea and coffee.
</ResponseField>

<ResponseField name="ResourceDrinks" type="boolean">
  Whether the linked resource provides drinks.
</ResponseField>

<ResponseField name="ResourceSecurityLock" type="boolean">
  Whether the linked resource has a security lock.
</ResponseField>

<ResponseField name="ResourceCCTV" type="boolean">
  Whether the linked resource is covered by CCTV.
</ResponseField>

<ResponseField name="ResourceVoiceRecorder" type="boolean">
  Whether the linked resource has a voice recorder.
</ResponseField>

<ResponseField name="ResourceAirConditioning" type="boolean">
  Whether the linked resource has air conditioning.
</ResponseField>

<ResponseField name="ResourceHeating" type="boolean">
  Whether the linked resource has heating.
</ResponseField>

<ResponseField name="ResourceNaturalLight" type="boolean">
  Whether the linked resource has natural light.
</ResponseField>

<ResponseField name="ResourceStandingDesk" type="boolean">
  Whether the linked resource has a standing desk.
</ResponseField>

<ResponseField name="ResourceQuietZone" type="boolean">
  Whether the linked resource is in a quiet zone.
</ResponseField>

<ResponseField name="ResourceWirelessCharger" type="boolean">
  Whether the linked resource has a wireless charger.
</ResponseField>

<ResponseField name="ResourcePrivacyScreen" type="boolean">
  Whether the linked resource has a privacy screen.
</ResponseField>

<ResponseField name="ResourceSoundproof" type="boolean">
  Whether the linked resource is soundproofed.
</ResponseField>

<ResponseField name="ResourceShifts" type="string">
  Shift schedule defined on the linked resource.
</ResponseField>

<ResponseField name="Size" type="number">
  Floor area of this unit (e.g. in sq ft or sq m, depending on the location's unit setting).
</ResponseField>

<ResponseField name="SizeIsLinkedToArea" type="boolean">
  When true, the Size value is automatically calculated from the drawn shape area on the floor plan canvas.
</ResponseField>

<ResponseField name="Capacity" type="number">
  Number of people this unit can accommodate at the same time.
</ResponseField>

<ResponseField name="Price" type="number">
  Indicative price displayed on the floor plan view (informational only; actual billing is handled by products and contracts).
</ResponseField>

<ResponseField name="Area" type="string">
  Computed area of the drawn shape on the floor plan canvas, set automatically by the editor.
</ResponseField>

<ResponseField name="SensorLastValue" type="string">
  Formatted display value of the last reading from the linked sensor.
</ResponseField>

<ResponseField name="IsSensorOccupied" type="boolean">
  Whether the linked sensor currently indicates this unit is occupied.
</ResponseField>

<ResponseField name="Notes" type="string">
  Internal notes about this unit, visible to admins only.
</ResponseField>

<ResponseField name="Available" type="boolean">
  Whether this unit is currently available for assignment or booking.
</ResponseField>

<ResponseField name="AvailableToAi" type="boolean">
  Whether this unit is available to any AI channels (Email, Chat or WhatsApp) for recommendations for private offices;.
</ResponseField>

<ResponseField name="NotesForAi" type="string">
  Notes or instructions for AI channels to consider when recommending this unit for private offices (e.g. 'great natural light but a bit noisy').
</ResponseField>

<ResponseField name="ShowPriceForAi" type="boolean">
  Whether to show the price of this unit in AI channel recommendations and responses based on users' budget preferences.
</ResponseField>

<ResponseField name="PriceForAi" type="number">
  Override price to show in AI channel recommendations and responses based on users' budget preferences (if not set, the regular Price value is used).
</ResponseField>

<ResponseField name="PositionX" type="integer">
  X coordinate of this unit's position on the floor plan canvas.
</ResponseField>

<ResponseField name="PositionY" type="integer">
  Y coordinate of this unit's position on the floor plan canvas.
</ResponseField>

<ResponseField name="PositionZ" type="integer">
  Z-index (draw order) of this unit on the floor plan canvas; higher values render on top.
</ResponseField>

<ResponseField name="AccessControlGroupId" type="string">
  Access control group identifier that governs door/entry access for this unit.
</ResponseField>

<ResponseField name="TunnelPrivateGroupId" type="string">
  Network tunnel group identifier for private network access scoped to this unit.
</ResponseField>

<ResponseField name="CoworkerContractIds" type="string">
  Comma-separated list of contract IDs currently assigned to this unit.
</ResponseField>

<ResponseField name="CoworkerContractFullNames" type="string">
  Comma-separated list of customer names from contracts assigned to this unit.
</ResponseField>

<ResponseField name="CoworkerContractStartDates" type="string">
  Comma-separated list of start dates for contracts assigned to this unit.
</ResponseField>

<ResponseField name="AvailableFromTime" type="string">
  UTC date/time from which this unit becomes available.
</ResponseField>

<ResponseField name="AvailableToTime" type="string">
  UTC date/time until which this unit is available.
</ResponseField>

<ResponseField name="AvailableFromTimeLocal" type="string">
  Local date/time from which this unit becomes available (derived from AvailableFromTime).
</ResponseField>

<ResponseField name="AvailableToTimeLocal" type="string">
  Local date/time until which this unit is available (derived from AvailableToTime).
</ResponseField>

<ResponseField name="ArchilogicUniqueId" type="string">
  Unique identifier linking this unit to its corresponding element in an Archilogic 3D model.
</ResponseField>

<ResponseField name="FloorPlanLayoutAssetUniqueId" type="string">
  Unique identifier linking this unit to a component in the associated floor plan layout template.
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "FloorPlanId": 0,
  "FloorPlanName": null,
  "FloorPlanBusinessId": null,
  "FloorPlanBusinessCurrencyCode": null,
  "FloorPlanBusinessName": null,
  "FloorPlanCapacity": null,
  "CoworkerId": null,
  "CoworkerFullName": null,
  "CoworkerCompanyName": null,
  "CoworkerCoworkerType": null,
  "CoworkerEmail": null,
  "CoworkerTeamNames": null,
  "SensorId": null,
  "SensorName": null,
  "SensorUnit": null,
  "SensorSensorType": null,
  "SensorLastReceivedValue": null,
  "SensorLastValueTriggeredAction": null,
  "Name": "",
  "ItemType": 0,
  "ResourceId": null,
  "ResourceName": null,
  "ResourceResourceTypeName": null,
  "ResourceAllocation": null,
  "ResourceProjector": null,
  "ResourceInternet": null,
  "ResourceConferencePhone": null,
  "ResourceStandardPhone": null,
  "ResourceWhiteBoard": null,
  "ResourceLargeDisplay": null,
  "ResourceCatering": null,
  "ResourceTeaAndCoffee": null,
  "ResourceDrinks": null,
  "ResourceSecurityLock": null,
  "ResourceCCTV": null,
  "ResourceVoiceRecorder": null,
  "ResourceAirConditioning": null,
  "ResourceHeating": null,
  "ResourceNaturalLight": null,
  "ResourceStandingDesk": null,
  "ResourceQuietZone": null,
  "ResourceWirelessCharger": null,
  "ResourcePrivacyScreen": null,
  "ResourceSoundproof": null,
  "ResourceShifts": null,
  "Size": 0,
  "SizeIsLinkedToArea": false,
  "Capacity": 0,
  "Price": 0,
  "Area": null,
  "SensorLastValue": null,
  "IsSensorOccupied": false,
  "Notes": null,
  "Available": false,
  "AvailableToAi": false,
  "NotesForAi": null,
  "ShowPriceForAi": false,
  "PriceForAi": null,
  "PositionX": 0,
  "PositionY": 0,
  "PositionZ": 0,
  "AccessControlGroupId": null,
  "TunnelPrivateGroupId": null,
  "CoworkerContractIds": null,
  "CoworkerContractFullNames": null,
  "CoworkerContractStartDates": null,
  "AvailableFromTime": null,
  "AvailableToTime": null,
  "AvailableFromTimeLocal": null,
  "AvailableToTimeLocal": null,
  "ArchilogicUniqueId": null,
  "FloorPlanLayoutAssetUniqueId": null,
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "FloorPlanDesk Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
