# Users

# Users Overview

### Description

A User is anyone that can log in to the application **and** children that cannot log in, but have a Christmas List on the system.

The following are examples of Users:

- [**Participant**](https://docs.kvwilliams.net/Participant.md) - Someone that logs on to the system, belongs to one or more groups, and has a Christmas List for themself. They are **not** a parent for any child. They can only see the groups they are a member of.
- [**Participating Parent**](https://docs.kvwilliams.net/Participating_Parent.md) - Someone that logs on to the system, belongs to one or more groups, has a Christmas List for themself, and is a parent for one or more children. They can view the groups they are in **and** the group(s) their child(ren) are members of.
- [**Nonparticipating Child**](https://docs.kvwilliams.net/Nonparticipating_Child.md) - Someone that cannot log on to the system, but belongs to one or more groups, and has a Christmas List for themself. *(They are usually children with no email)* This user must have at least one parent that **can** log on.
- [**Participating Child**](https://docs.kvwilliams.net/Participating_Child.md) - Someone that logs on to the system, belongs to one or more groups, has a Christmas List for themself, but requires at least one parent because they are a minor. Items on their wish list will not be displayed to others until one of their parents approves them.
- [**Nonparticipating Parent**](https://docs.kvwilliams.net/Nonparticipating_Parent.md) - Someone that logs on to the system, does not belong to any groups themselves, but is a parent for one or more children. They do not have a Christmas List. They can only view the groups of the child(ren) that they are a parent for. This is a nonparticipant with children.
- [**Nonparticipant**](https://docs.kvwilliams.net/Nonparticipant.md) - Someone that logs on to the system, belongs to one or more groups, but does not have a Christmas List for themself, nor are they a parent for anyone. This is a nonparticipant with no children.

### User Capabilities

The different types of users have different capabilities. The following table indicates the capabilities

<table border="1" id="bkmrk-capability-participa" style="border-collapse: collapse; width: 818px; height: 1220px; border-style: solid;"><thead><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Capability</td><td align="center" style="width: 86.9892px; vertical-align: middle;">Participant</td><td align="center" style="width: 99.1737px; vertical-align: middle;">Participating  
Parent</td><td align="center" style="width: 126.307px; vertical-align: middle;">Nonparticipating Child</td><td align="center" style="width: 126.367px; vertical-align: middle;">Participating Child</td><td align="center" style="width: 125.316px; vertical-align: middle;">Nonparticipating  
Parent</td><td align="center" style="width: 117.368px; vertical-align: middle;">Nonparticipant</td></tr></thead><tbody><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add gifts to their own list</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add gifts to their child's list that will not be marked as suggestion</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Must have gifts approved</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">  
</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">See child's gifts that have not been approved</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">See only their child's gift that have not been approved</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Can have a parent</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">  
</td><td align="center" style="width: 126.307px; vertical-align: middle;">X</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Can only have one proxy</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">  
</td><td align="center" style="width: 126.307px; vertical-align: middle;">X</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Approve their child's gifts</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">View gifts for users in their group(s)</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">View gifts for users in their child's group(s)</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">See status of gifts not theirs</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">See suggestions for others in their group(s)</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add suggestions to users in their groups that they are a participant</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add suggestions to users in their groups that they are a nonparticipant</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">  
</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add comments to any gift they can see</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Add comments to their own gift</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Change the status on any gift they can see</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Subscribe to a group they are a member of</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Subscribe to a group their child is a member of</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Receive emails regarding any comment on their own gift that is flagged</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Receive emails regarding any comment on their child's gift</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Receive emails regarding any comment on others gifts that they have commented on</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Own a group</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Be admin of a group</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">X</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Be a group participant</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Be a group child</td><td align="center" style="width: 86.9892px; vertical-align: middle;">  
</td><td align="center" style="width: 99.1737px; vertical-align: middle;">  
</td><td align="center" style="width: 126.307px; vertical-align: middle;">X</td><td align="center" style="width: 126.367px; vertical-align: middle;">X</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">  
</td></tr><tr><td align="left" style="width: 127.494px; vertical-align: middle;">Be a group nonparticipant</td><td align="center" style="width: 86.9892px; vertical-align: middle;">X</td><td align="center" style="width: 99.1737px; vertical-align: middle;">X</td><td align="center" style="width: 126.307px; vertical-align: middle;">  
</td><td align="center" style="width: 126.367px; vertical-align: middle;">  
</td><td align="center" style="width: 125.316px; vertical-align: middle;">  
</td><td align="center" style="width: 117.368px; vertical-align: middle;">X</td></tr></tbody></table>

# Participant

A **Participant** is someone that logs on to the system, belongs to one or more groups, and has a Christmas List for themself.

---

We'll label this user a **PARTICIPANT** user. The system was set up with only participant users at the beginning. All functions are defined for a participant user. This user can be converted to a [PARTICIPATING PARENT](https://docs.kvwilliams.net/Participating_Parent.md) user.

A participant can be a **PARTICIPANT** in one or more groups, and a **NON-PARTICIPANT** in one or more groups. **But** a **PARTICIPANT** must be a **PARTICIPANT** in at least one group, or they will be considered a [NON-PARTICIPANT](https://docs.kvwilliams.net/Nonparticipant.md)

### What they can do

- Add gifts to their own list
- View gifts for users in their group(s)
- Add suggestions to users in their group(s)
- Add comments to any gift they can see
- Change the status on any gift they can see
- Subscribe to a group they are a member of to receive email about new gifts added by someone in their group
- Receive emails regarding any comment on their own gift that is flagged that they can see
- Receive emails regarding any comment on others gifts that they have commented on

# Participating Parent

A **Participating Parent** is someone that logs on to the system, belongs to one or more groups, has a Christmas List for themself, and is a parent for one or more children. They can view the groups they are in **and** the group(s) their child(ren) are members of.

---

We'll refer to this as a **PARTICIPATING PARENT** user.

A [PARTICIPANT](https://docs.kvwilliams.net/Participant.md) that has a [NONPARTICIPATING CHILD](https://docs.kvwilliams.net/Nonparticipating_Child.md) or [PARTICIPATING CHILD](https://docs.kvwilliams.net/Participating_Child.md) added to them becomes a **PARTICIPATING PARENT**.

A [NONPARTICIPATING PARENT](https://docs.kvwilliams.net/Nonparticipating_Parent.md) that is added to a group as a [PARTICIPANT](https://docs.kvwilliams.net/Participant.md) will become a **PARTICIPATING PARENT**.

### What they can do

- Add gifts to their own list
- View gifts for users in their own group(s) and any of their **CHILD** group(s)
- Add suggestions to users in their group(s) and/or users in their **CHILD** group(s)
- Add comments to any gift they can see
- Change the status on any gift they can see
- Add gift to their **CHILD** list that will not be marked as a *Suggestion*
- Subscribe to a group they or their child is a member of to receive email about new gifts added by someone in their group
- Receive emails regarding any comment on their own gift that is flagged that they can see
- Receive emails regarding any comment on any of their child's gifts
- Receive emails regarding any comment on others gifts that they have commented on

# Nonparticipating Child

A **Nonparticipating Child** is someone that cannot log on to the system, but belongs to one or more groups, and has a Christmas List for themself. *(They are usually children with no email).* This user must have a parent that **can** log on.

---

We'll call this a **NONPARTICIPATING CHILD** user.

### What they can do

Since this user cannot log on to the system, they cannot do anything.

# Participating Child

A **Participating Child** is someone that logs on to the system, belongs to one or more groups, has a Christmas List for themself, but requires a parent because they are a minor. Items on their wish list will not be displayed until their parent approves them.

---

We'll call this a **PARTICIPATING CHILD** user.

### What they can do

- Add gifts to their own list. Their gifts must be approved by their parent.
- View gifts for users in their groups, but not the status (they might not be able to keep a secret)
- Cannot add suggestions
- Cannot add comments
- Can comment on their own gifts (to answer questions or add information)
- Cannot change the status on any gift
- Cannot subscribe to a group
- Receive emails regarding any comment on their own gift that is flagged that they can see

# Nonparticipating Parent

A **Nonparticipating Parent** is someone that logs on to the system, may or may not belong to any groups themselves, and is a parent for one or more children. They do not have a Christmas List. They can view their group(s), if they are members of any, and the groups of the child(ren) that they are a parent for. This is a nonparticipant with children.

---

We'll call this a **NONPARTICIPATING PARENT** user.

If this user is added to any group as a participant, they will be converted to a [PARTICIPATING PARENT](https://docs.kvwilliams.net/Participating_Parent.md).

### What they can do

- Cannot add suggestions
- Add comments to any gift they can see
- Change the status on any gift they can see
- Add gift to their **CHILD**s list that will not be marked as a *Suggestion*
- Subscribe to a group they or their child is a member of to receive email about new gifts added by someone in that group
- Receive emails regarding any comment on their **CHILD**s gift that is flagged that they can see
- Receive emails regarding any comment on any of their **CHILD**s gifts
- Receive emails regarding any comment on others gifts that they have commented on

# Nonparticipant

A **Nonparticipant** is someone that logs on to the system, belongs to one or more groups, but does not have a Christmas List for themself, nor are they a parent for a child. This is a nonparticipant with no children.

---

We'll call this user a **NONPARTICIPANT** user.

If this user has a [NONPARTICIPATING CHILD](https://docs.kvwilliams.net/Nonparticipating_Child.md) or [PARTICIPATING CHILD](https://docs.kvwilliams.net/Participating_Child.md) added to them, they will be converted to a [NONPARTICIPATING PARENT](https://docs.kvwilliams.net/Nonparticipating_Parent.md) user.

This user can leave comments and change the status on gifts in the groups they belong to.

If a **NONPARTICIPANT** is added as a [GROUP PARTICIPANT](https://docs.kvwilliams.net/Groups/Overview.md) in one group, they are converted to a [PARTICIPANT](https://docs.kvwilliams.net/Participant.md).

### What they can do

- Cannot add suggestions
- View gifts for users in their group(s)
- Add comments to any gift they can see
- Change the status on any gift they can see
- Subscribe to a group they are a member of to receive email about new gifts added by someone in that group
- Receive emails regarding any comment on others gifts that they have commented on