# Plan details

## Overview

A plan is a configuration record that names a plan, sets its price and capacity limits,
marks it active, and assigns features. Use this page to review or maintain those values.

| If you need to… | Go to |
| --- | --- |
| Check the values held by a plan | [Understand the plan details screen](#understand-the-plan-details-screen) |
| Open a saved plan | [Find and open a plan](#find-and-open-a-plan) |
| Change plan values or feature assignments | [Maintain a plan](#maintain-a-plan) |
| Resolve a validation or request error | [When loading, saving, or validating goes wrong](#when-loading-saving-or-validating-goes-wrong) |
| Return to the list of plans | [Plans](doc:configuration-plans) |
| Maintain company features | [Company features](doc:configuration-features-record) |

The record contains the plan name, price, counts for users, branches, teams, and roles,
an **Active** checkbox, and a feature list with **Selected** and **Feature** columns.

Start with the prerequisites when you need to open a record, or use the screen reference
when you are checking fields.

## Prerequisites

Open an existing plan to load its details, or open a new plan record to enter new values.

The form appears when the plan record is available. The feature list appears when the list
contains at least one feature. **Save** is enabled when the current plan differs from its
original values and disabled when there are no unsaved changes.

| Before you start | What to check |
| --- | --- |
| Existing plan | Open the plan from the plans list. |
| New plan | Open a new plan record. |
| Record form | Confirm that the plan details form is visible. |
| Feature list | Confirm that the feature grid is present before selecting a feature. |
| Save state | Change a value before selecting **Save**. |

When these checks are complete, find and open the plan.

## Find and open a plan

Select a plan in the plans list to open its details.

Prerequisites

- You are on the plans list.
- The plan you want to open appears as a row.

Steps

1. Select the plan row in the list.
![Review the plans list headers before opening a plan](https://atloriaassets.blob.core.windows.net/assets/a438221c-c1af-407c-b9e6-a56c986db846/6bc05d9c960b43d21c87413b6115abdd.png)

**Result:** The selected plan opens on its plan details form. Continue to Understand the
plan details screen to identify its fields and feature grid.

## Understand the plan details screen

The plan details screen is the form where you review the plan's identity, pricing, capacity
limits, activity, and feature assignments before you maintain it.

The form displays these fields:

| Field | Type | Required | Rule or format |
| --- | --- | --- | --- |
| **Plan name** | Text box | Yes | Required; the name uses the no-special-character pattern validation. |
| **Plan Price** | Number box with a currency picker | No | Minimum `0`; format `#,##0.00`. |
| **Users count** | Number box | Yes | Minimum `0`; maximum `99`; format `#,##0.00`. |
| **Branches count** | Number box | Yes | Minimum `0`; maximum `99`; format `#,##0.00`. |
| **Teams count** | Number box | Yes | Minimum `0`; maximum `99`; format `#,##0.00`. |
| **Roles count** | Number box | Yes | Minimum `0`; maximum `99`; format `#,##0.00`. |
| **Active** | Checkbox | No | Select it to mark the plan active. |

The feature grid appears when the feature list contains rows. Its visible columns are:

| Column | What it represents |
| --- | --- |
| **Selected** | Whether the feature is selected for the plan. |
| **Feature** | The feature name. |

After identifying the fields and grid, maintain the plan values.

## Maintain a plan

Use this procedure to change plan values and feature assignments, then save the changes.

Prerequisites

- The plan details form is visible.
- You know the plan name, price, and capacity limits to enter.
- The feature grid is visible if you need to change feature assignments.

Steps

1. Enter the applicable values in the plan fields.

   | Field | Value to enter |
   | --- | --- |
   | **Plan name** | Enter a value that meets the required and pattern rules. |
   | **Plan Price** | Enter a value from `0` upward. |
   | **Users count** | Enter a value from `0` through `99`. |
   | **Branches count** | Enter a value from `0` through `99`. |
   | **Teams count** | Enter a value from `0` through `99`. |
   | **Roles count** | Enter a value from `0` through `99`. |

2. Select **Active** when the plan must be active.
3. Select a feature row in the feature grid to change its selection.
4. Select **Save**.

The numeric fields accept values from `0` through `99` where the field defines both
bounds. **Plan Price** accepts values from `0` upward. A change makes **Save** available;
restoring the original values makes **Save** unavailable again.

**Result:** The plan is saved with the entered values, and the returned plan replaces the
values currently held on the screen.

## When loading, saving, or validating goes wrong

Use the message text to identify the condition and the corrective action.

| Message | When it appears | What to do |
| --- | --- | --- |
| `This Field Is Required` | A required field is empty when validation runs. | Enter a value in **Plan name**, **Users count**, **Branches count**, **Teams count**, or **Roles count**. |
| `Just '_'‘-''.' And '&' Characters Accepted` | **Plan name** contains a character outside the accepted pattern. | Replace the unsupported character in **Plan name**. |
| `An error occurred while processing your request` | Loading the plan, saving the plan, or loading the feature list returns an error. | Check the request and retry the operation. |

## After maintaining a plan

After **Save** completes, the returned plan replaces the values held on the screen. Use
[Plans](doc:configuration-plans) to return to the plans list, or use [Company features](doc:configuration-features-record)
when the feature definitions themselves need maintenance.

Continue with the plans list after saving, or remain on the record to review the returned
values.
