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

# List Businesses with Visitor Registration

> Retrieve all Nexudus locations that have the visitor registration feature enabled.

# List Businesses with Visitor Registration

Returns all locations in the network where the visitor registration feature is active. The portal uses this to determine which locations a member can register a visitor for, and to build location pickers in the visitor registration flow.

## 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. Example: `_shape=Businesses.Name,Businesses.WebAddress`.
</ParamField>

## Response

<ResponseField name="Businesses" type="array">
  Array of location objects for locations that have visitor registration enabled.
</ResponseField>

<ResponseField name="Businesses[].Id" type="number">
  Unique numeric identifier for the location.
</ResponseField>

<ResponseField name="Businesses[].UniqueId" type="string">
  Globally unique identifier (GUID) for the location.
</ResponseField>

<ResponseField name="Businesses[].Name" type="string">
  Display name of the location.
</ResponseField>

<ResponseField name="Businesses[].WebAddress" type="string">
  Subdomain identifier for the location (e.g. `"myspace"`).
</ResponseField>

## Example Response

```json theme={null}
{
  "Businesses": [
    {
      "Id": 1,
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "Name": "Main Location",
      "WebAddress": "mainlocation"
    }
  ]
}
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'
import { useTypedData } from '@/api/fetchData'
import { AllLocations } from '@/types/AllLocations'

const endpoint = endpoints.system.business.withVisitors()
// endpoint.type is { Businesses: AllLocations[] }

const { resource } = useTypedData(httpClient, endpoint)
const businesses = resource?.Businesses ?? []
```

## Usage in Portal

| Context                              | Source file           |
| ------------------------------------ | --------------------- |
| Visitor registration location picker | `src/views/visitors/` |

## Error Responses

<ResponseField name="401 Unauthorized" type="error">
  The bearer token is missing, expired, or invalid.
</ResponseField>

## Related Endpoints

| Method | Endpoint                          | Description                                     |
| ------ | --------------------------------- | ----------------------------------------------- |
| `GET`  | `/api/public/businesses/current`  | Get the current location                        |
| `GET`  | `/api/public/businesses/all`      | List all locations in the network               |
| `GET`  | `/api/public/businesses/withTour` | List locations offering space tours             |
| `GET`  | `api/public/visitors/my`          | List the current customer's registered visitors |
