Directory Listings
A directory listing is one row of a building’s visitor directory: a destination a visitor can call or open from the entrance. Listings are generated from groups rather than built by hand.
| Kind | Typical use |
|---|---|
apartment | Residential units |
office | Individual offices |
suite | Numbered suites |
shop | Retail units |
room | Classrooms, clinic rooms, hotel rooms |
facility | Shared amenities |
other | Anything that does not fit |
Membership
Section titled “Membership”A listing’s members are either people or groups. When a group is a member, everyone in it is reachable through that listing.
If a person is both a direct member and a member through a group, the direct membership wins: its role and call preference are used.
Fields
Section titled “Fields”| Field | Meaning |
|---|---|
listing_kind | The kind above. Required when creating a listing and when generating listings from groups. |
listing_number | Numeric identifier |
listing_label | Localized label, used when the identifier is not numeric |
floor_number, floor_label | Where the listing is |
display_name | Explicit name override |
hidden | Omitted from the visitor directory |
display_order | Position among listings |
source | manual or generated |
source_group_id | The group this listing was generated from |
overrides | Which fields an administrator has set by hand, so regeneration leaves them alone |
Who receives a call for a listing is governed by its call receive policy:
| Policy | Who is called |
|---|---|
admins_only | Listing administrators |
all | Every member |
fallback | An ordered list, tried in turn |
Members can silence calls for themselves, and residents can block a portal they do not want calls from.
| Route | Purpose |
|---|---|
GET /entities/{id}/directory-listing-members | List members of a listing |
POST /entities/{id}/directory-listing-members | Add a member |
PUT /entities/{id}/directory-listing-members/{member_id} | Update a member |
DELETE /entities/{id}/directory-listing-members/{member_id} | Remove a member |
GET /integrations/{id}/directory-listing-members | Members across several listings |
GET /me/directory-listings | Listings I belong to |
PATCH /me/directory-listings/{entityId}/dnd | Silence calls for one listing |
GET /devices/{device_id}/directory | Read the directory configuration |
PUT /devices/{device_id}/directory | Update the directory configuration, including the switch that disables the intercom |
POST /devices/{device_id}/directory-listings/plan | Preview generating listings from groups, without writing |
POST /devices/{device_id}/directory-listings/apply | Generate listings from groups. Idempotent: re-running converges |
GET /devices/{device_id}/directory-floors | Distinct floors in a directory |
POST /virtual-access/directory-listing-enrich | Read names from photos of a panel |