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
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-Create role.
Enums
eFloorPlanItemType — ItemType values
Value Name 1 Office 2 DedicatedDesk 3 HotDesk 4 Other 5 Room
Value Name 1 Individual 2 Company
Value Name 1 PresenceDetection 2 PeopleCounter 3 Temperature 4 Humidity 5 Light 6 Noise 7 CO2 8 VolatileOrganicCompounds 9 HarmfulParticulates 10 Touch 11 Water 12 AtmosphericPressure 13 Power 14 OpenClosed 99 Other
Request Body
Required Fields
ID of the floor plan this unit belongs to.
Display name of the floor plan unit (e.g. ‘Office 3’, ‘Hot Desk 12’).
Type of area this unit represents: Office, DedicatedDesk, HotDesk, Room, or Other.
Floor area of this unit (e.g. in sq ft or sq m, depending on the location’s unit setting).
Number of people this unit can accommodate at the same time.
Indicative price displayed on the floor plan view (informational only; actual billing is handled by products and contracts).
X coordinate of this unit’s position on the floor plan canvas.
Y coordinate of this unit’s position on the floor plan canvas.
Z-index (draw order) of this unit on the floor plan canvas; higher values render on top.
Optional Fields
ID of the customer assigned to this unit (used for dedicated desks and offices).
ID of the IoT sensor monitoring occupancy or environmental conditions in this unit.
ID of the bookable resource linked to this unit, enabling customers to book it via the floor plan view.
When true, the Size value is automatically calculated from the drawn shape area on the floor plan canvas.
Computed area of the drawn shape on the floor plan canvas, set automatically by the editor.
Internal notes about this unit, visible to admins only.
Whether this unit is currently available for assignment or booking.
Access control group identifier that governs door/entry access for this unit.
Network tunnel group identifier for private network access scoped to this unit.
Comma-separated list of contract IDs currently assigned to this unit.
CoworkerContractFullNames
Comma-separated list of customer names from contracts assigned to this unit.
CoworkerContractStartDates
Comma-separated list of start dates for contracts assigned to this unit.
UTC date/time from which this unit becomes available.
UTC date/time until which this unit is available.
Local date/time from which this unit becomes available (derived from AvailableFromTime).
Local date/time until which this unit is available (derived from AvailableToTime).
Unique identifier linking this unit to its corresponding element in an Archilogic 3D model.
FloorPlanLayoutAssetUniqueId
Unique identifier linking this unit to a component in the associated floor plan layout template.
Code Examples
curl -X POST \
"https://spaces.nexudus.com/api/sys/floorplandesks" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"FloorPlanId": 0,
"Name": "",
"ItemType": 0,
"Size": 0,
"Capacity": 0,
"Price": 0,
"PositionX": 0,
"PositionY": 0,
"PositionZ": 0
}'
Response
200
HTTP status code. 200 on success.
A human-readable message confirming the creation.
Contains the Id of the newly created record.
true if the floorplandesk was created successfully.
{
"Status" : 200 ,
"Message" : "FloorPlanDesk was successfully created." ,
"Value" : {
"Id" : 87654321
},
"OpenInDialog" : false ,
"OpenInWindow" : false ,
"RedirectURL" : null ,
"JavaScript" : null ,
"UpdatedOn" : "2025-01-15T10:30:00Z" ,
"UpdatedBy" : "admin@example.com" ,
"Errors" : null ,
"WasSuccessful" : true
}
400
A summary of the validation error(s), in the format PropertyName: error message.
null on validation failure.
Array of validation errors. The value that was submitted for the field, or null if missing.
The validation error message.
The name of the property that failed validation.
false when the request fails validation.
{
"Message" : "Name: is a required field" ,
"Value" : null ,
"Errors" : [
{
"AttemptedValue" : null ,
"Message" : "is a required field" ,
"PropertyName" : "Name"
}
],
"WasSuccessful" : false
}