# User Types

<p class="callout info">**User Types** in OPSCOM categorize your system users (e.g., Student, Staff, Public) and control various aspects of their interaction with the system, including access to specific lots, available payment options, and the fields visible on their profile. Configuring user types allows administrators to tailor the OPSCOM experience to different user groups, ensuring appropriate permissions and functionalities.</p>

### Setup &amp; Configuration

User Type configurations are managed through the **User Type Administration** tool.

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-hover-over-system-co"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">1. Hover over **System Configuration,** then **Users,** and click **Types.**

</div></div></div></div></div></div></div></div>This will open the **User Type Administration** page, displaying a list of your existing User Types.

##### <span style="text-decoration: underline;">Creating a New User Type</span>

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-click-the-create-new"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">1. Click the **Create New User Type** button.
2. Enter the **Type Name** for your new user type (e.g., **Public Parker**).
3. Set the **Grouping** for this user type. This is crucial as it links to OPSCOM's internal master user categories, which govern access to other system items and the appearance of profile forms. The four main internal categories are: 
    - **Staff**
    - **Student**
    - **Public**
    - **Athletics**

</div></div></div></div></div></div></div></div><p class="callout info">New user types must be assigned to one of these categories. These are hardcoded and cannot be changed.</p>

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-you-can-toggle-visib"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">1. You can toggle **Visible to Users** to make this user type selectable by end-users during registration.
2. Set the number of **Extra Active Vehicles** that users of this type can have. [By default, users can have one active vehicle; this field specifies how many *additional* active vehicles are allowed.](https://opscom.wiki/books/setup-configuration-for-admins/page/limiting-active-vehicles)
3. Choose the **Allowed Payment Types** for this User Type by enabling the checkbox next to the Payment Type. [Refer to this wiki article for more information.](https://opscom.wiki/books/setup-configuration-for-admins/page/managing-payment-types)
4. Click **Create User Type**.

</div></div></div></div></div></div></div></div>[![2025-06-17_15-08-20.jpg](https://opscom.wiki/uploads/images/gallery/2025-06/2025-06-17-15-08-20.jpg)](https://opscom.wiki/uploads/images/gallery/2025-06/2025-06-17-15-08-20.jpg)


Once saved, your new user type (e.g., **Public Parker**) will appear in the list.

<p class="callout success">You can also create user types to allow you to categorize your archived users. [Refer to this wiki article](https://opscom.wiki/books/the-opscom-admin-portal/page/archiving-or-disabling-a-user) to learn about managing archived users by user type.</p>

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk--2"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">---

</div></div></div></div></div></div></div></div>### Using this Feature

##### <span style="text-decoration: underline;">Applying a User Type to a User</span>

A **User Type** can be assigned to a user when their account is created or changed at any time later.

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-hover-over-user-mana"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">1. Hover over **User Management** and click **User Search**.
2. Search for the user you want to edit.
3. [Edit the user profile](https://opscom.wiki/books/the-opscom-admin-portal/page/user-profile-overview) and click the **User Type** picklist.
4. Choose the desired User Type (e.g., **Public Parker**).
5. Click **Submit Profile Information**, review the submission, and click the **Information Correct** button.

</div></div></div></div></div></div></div></div>##### <span style="text-decoration: underline;">Searching by User Type</span>

User Types can be used as criteria in various search tools within OPSCOM. You can use the User Search tool or you can click the **\# of Users** button beside the lot to automatically perform a search for this user type.

##### <span style="text-decoration: underline;">Searching for Payment Types Assigned by User Type</span>

You can click the **\# of Payment Types** button to immediately see a list of all payment types associated to each user type.

##### <span style="text-decoration: underline;">Configuring Access to Lots with User Types</span>

User Types play a critical role in controlling access to parking lots.

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-hover-over-parking-m"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">1. Hover over **Parking Management,** then **Lot Administration,** and click [**Pricing &amp; Lot Admin**](https://opscom.wiki/books/the-opscom-admin-portal/page/pricing-and-lot-admin).
2. Click on the **Lot Name** of the lot you wish to configure.
3. On the **General Tab**, under the **Lot Access** section, ensure **User Type Lot** is selected.
4. Select the specific **user types** you wish to allow access to this lot in the **Lot Types** picklist. Ctrl + Click to select multiple types. 
    - **Scenario Example**: For a particular lot, you might allow students and public parkers to purchase permits but restrict access for Staff/Faculty users.
5. When viewing the list of lots in **Lot Administration**, you can click **Show/Hide Lot User Types** to quickly see which user types a lot is configured for.

</div></div></div></div></div></div></div></div>##### <span style="text-decoration: underline;">User-Side Lot Visibility</span>

When a user logs into the system (e.g., as "Joseph Callaghan" who is a student), and attempts to purchase a permit:

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-the-system-will-only"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">- The system will **only** display lots that are configured for that user's specific User Type.
- In this example, the user might only see "Standard Permit Lot" and "Text2Park" if those are the only lots accessible to their user type.

</div></div></div></div></div></div></div></div>##### <span style="text-decoration: underline;">Deleting or Archiving a User Type</span>

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-a-user-type-can-only"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">- A user type can only be **deleted** or **archived** if **no users are currently assigned to it**. You must reassign all users from a user type before it can be removed. Once you have done so, edit the user and click the **Delete User Type** button.

---

</div></div></div></div></div></div></div></div>### <span style="color: rgb(22, 145, 121);">Best Practices &amp; Considerations</span>

<div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk-align-with-organizat"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr">- <span style="color: rgb(22, 145, 121);">**Align with Organizational Structure**: Create user types that directly reflect the categories of individuals interacting with your system (e.g., Faculty, Undergraduate, Graduate, Visitor).</span>
- <span style="color: rgb(22, 145, 121);">**Control Vehicle Limits**: Use the **Extra Active Vehicles** setting to manage the number of vehicles associated with users, which can impact parking availability and system load.</span>
- <span style="color: rgb(22, 145, 121);">**Granular Access Control**: Leverage user types in **Lot Administration** to precisely control who can access and purchase permits for specific parking areas, enhancing security and resource allocation.</span>
- <span style="color: rgb(22, 145, 121);">**Impact on Profile Fields**: Remember that the **Grouping** (Staff, Student, Public, Athletics) you assign to a User Type affects the visibility of fields in the user's profile registration form. For instance, student users might see specific student ID fields that staff users would not.</span>
- <span style="color: rgb(22, 145, 121);">**Payment Type Restrictions**: Utilize the **Allowed Payment Types** to ensure only relevant payment methods are available to specific user types (e.g., restricting payroll deduction to Staff users only).</span>
- <span style="color: rgb(22, 145, 121);">**Clear User Communication**: Ensure users understand their assigned user type and how it affects their system experience, including visible lots and payment options.</span>

</div></div></div></div></div></div></div></div><div _ngcontent-ng-c617919120="" class="chat-history-scroll-container" id="bkmrk--3"><div _ngcontent-ng-c617919120="" class="conversation-container message-actions-hover-boundary ng-star-inserted" id="bkmrk-align-with-organizat-1"><div _ngcontent-ng-c3942763368=""><div _ngcontent-ng-c4086532758="" class="response-container ng-tns-c4086532758-230 response-container-with-gpi ng-star-inserted response-container-has-multiple-responses" jslog="173900;track:impression"><div _ngcontent-ng-c4086532758="" class="presented-response-container ng-tns-c4086532758-230"><div _ngcontent-ng-c4086532758="" class="response-container-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3942763368="" class="response-content ng-tns-c4086532758-230"><div _ngcontent-ng-c3017587935="" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr" id="bkmrk-align-with-organizat-2"></div></div></div></div></div></div></div></div>