Entities¶
Overview¶
This page outlines the entity-relationship model of the Tapkey Access Management Web API. Descriptions of the entities can be found in the respective sections below the diagram.
Entity-Relationship Diagram¶
erDiagram Contact }o--o{ Owner-Account : "is co-admin" Contact ||--o{ Owner-Account : "owns" Contact }o--|| Owner-Account : "" Bound-Card }o--|| Owner-Account : "" Bound-Lock }o--|| Owner-Account : "" Contact }o--|| User : "maps" Contact |o--o{ Grant : "" Bound-Card |o--o{ Grant : "" Bound-Lock |o--o{ Grant : "" Lock-Group |o--o{ Grant : "" Grant-Template |o--o{ Grant : "is based on" Physical-Lock ||--|{ Bound-Lock : "" Physical-Card ||--o{ Bound-Card : "" Lock-Group }o--o{ Bound-Lock : "is member of" Lock-Group }o--|| Owner-Account : "belongs to"
Basics¶
Entity IDs¶
All entities are identified by their entity IDs. While most IDs seem to be constructed from GUIDs, which by their nature aren't case-sensitive, this isn't the case always and can change at any time. E.g. IDs of physical locks are constructed from Base-64 encoded strings, which by their nature are case-sensitive. It's therefore required to treat all IDs as case-sensitive.
Warning
Entity IDs must always be treated case-sensitive.
Entities used in the Access Management API¶
Owner Account¶
- A lock or card (NFC transponder) is owned by an owner account which in turn is owned by a user, the owner.
Contact¶
- A relation between a user and an owner. Represents the owner's view of a related user. E.g. a grant is always assigned to a contact instead of a user.
Bound Lock¶
- An owner's view of a lock. If a lock is registered (bound) by an owner, a bound lock instance is created, which the lock owner can manage grants for. No more than one bound lock is marked active for a given physical lock at any single point in time.
Lock Group¶
- A group of locks. Acts similar to a bound lock. After a lock is added to or removed from a group, it needs to be synchronized in order to update the respective group information on the lock.
Bound Card¶
- An owner's view of an access media (card). When a card is registered (bound) by an owner account, an instance of bound card is created. No more than one instance of bound card is marked active for a given physical card at any single point in time.
Grant¶
- An access permission for a contact or a bound card to a bound lock.
Grant Template¶
- A grant template to be used as access permission for a grantee. The grant template defines the time restriction in the same way as the grant itself but can be reused across multiple grants. Changing the time restriction of the grant template will update all the access permissions that use it.
Other entities¶
User¶
- Represents a user who can sign in to Tapkey.
Physical Lock¶
- The representation of a physical lock. As a lock could potentially be owned by multiple people over time, each having a separate view on it, there's no direct relationship between physical locks and owner accounts.
Info
IDs of physical locks must be considered case-sensitive.
Physical Card¶
- The representation of a physical access media. Like locks, cards can be owned by multiple owner accounts over time. So there's no direct relationship between physical cards and owner accounts.