.. _basic-concepts: Basic Concepts ============== There are three first class actors, everything else revolve around them. **Delegate** A delegate is a person that registers in our system and can interact with its devices. Have a look at our :doc:`/rest_api/delegate` :doc:`/rest_api/index` for more info. **Device** A device is anything that a delegate can interact with, use or attend to. They can be physical objects or abstract concept. Common physical devices widely used are: *check-in apps*, *access control apps* and also *rooms*, *groups*, and *organisations*. The most common abstract device is the *session*. Because of their importance and wide use, *room*, *sessions* and *organisations* can have their own dedicated pages in the Control Room and their own specific endpoints in the :doc:`/rest_api/index` even though their are "just" devices. **Interaction** An interaction is a relation between a delegate and a device, or between delegates, or between devices. Each interaction can involve up to three delegates and up to three devices at once. In the most common cases, we'll just refer to the "first delegate" as just "delegate" and to the "first device" as just "device". An interaction usually stems from an active action, like *checking-in*, *checking-out*, *printing* a lanyard, *playing* a game or taking a *picture*. But they can also originate from passive actions or relations, like being *seen* by a UHF reader or being assigned to a session (commonly referred as *joining* a session). *Joins* are probably the most important interactions. They can define who can access what (access control), what belongs to whom (a delegate belongs to an organisation), or who participated in an activity. *Leads* are also important interactions, with complex data associated with them. They usually require a delegate to fill up a form or a answer some questions. Other important concepts are: **OAuth2 Client** A client holds the credentials for a particular device. To use TAG's REST API you must hold a valid set of OAuth2 credentials. **Email** An email template or layout for outgoing communications triggered by registrations or interactions. Layout and copy can be edited in the Control Room, where you can also find the logs of all emails sent through the system. **SMS** An SMS, like an email, can be triggered by registrations or interactions. The copy can be edited in the Control Room, where you can also find the logs of all texts sent through the system.