> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plan Fields

> This page lists the fields and properties used to create and configure Plans in Nextedy PLANNINGBOARD.

See also:

* [Work Item Fields](/planningboard/reference/fields/work-item-fields) — fields on work item cards
* [Resource Fields](/planningboard/reference/fields/resource-fields) — fields on swimlane resources
* [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) — widget parameters that control how Plans are loaded
* [Plans Modes](/planningboard/reference/plans-modes/index) — available planning mode options

***

## Plan creation parameters

These fields are set when creating a new Plan through Planningboard (via the **New Plan** feature in the toolbar). They correspond to the properties of `PlanParameters`.

| Name           | Type     | Default | Description                                                                                                                                                       |
| -------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectID`    | `string` | —       | Polarion project ID where the Plan will be created. Must match an existing project.                                                                               |
| `planId`       | `string` | —       | Unique identifier for the new Plan. Must be unique within the project.                                                                                            |
| `planName`     | `string` | —       | Human-readable display name for the Plan. Shown in the column header and reports.                                                                                 |
| `templateId`   | `string` | —       | Plan template ID to copy configuration from. The template must exist in the same project (for example: `iteration`, `release`).                                   |
| `startDate`    | `string` | —       | Plan start date in ISO 8601 format (`YYYY-MM-DD`).                                                                                                                |
| `dueDate`      | `string` | —       | Plan due date in ISO 8601 format (`YYYY-MM-DD`).                                                                                                                  |
| `parentId`     | `string` | —       | Optional parent Plan ID for hierarchical Plan structures. If set, the parent Plan must exist and be resolvable.                                                   |
| `teamId`       | `string` | —       | Team identifier for the Plan. The field that stores this value is controlled by the `com.nextedy.planningboard.createplans.team_field_id` configuration property. |
| `customFields` | `object` | `{}`    | Map of custom field IDs to their values. Field types are validated against the Plan schema — supports enums and other types.                                      |

### Configuration property

| Name                                                  | Type     | Default | Description                                                                                                         |
| ----------------------------------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `com.nextedy.planningboard.createplans.team_field_id` | `string` | —       | Specifies which custom field ID on the Plan represents team assignment. Read from the project's context properties. |

<Note title="Template ID examples">
  Common values for `templateId` are `iteration` and `release`. The available templates depend on your Polarion project configuration. Check **Administration > Plans** in Polarion to see the template IDs available for your project.
</Note>

***

## Plan display configuration (widget parameters)

These parameters control which Plans are shown on the board and how they are displayed. They are set per widget instance in the widget parameters editor.

| Name              | Type      | Default                                                                          | Description                                                                                                            |
| ----------------- | --------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `plansMode`       | `string`  | `PROJECT_PLANS`                                                                  | Determines the planning model. See [Plans Modes](/planningboard/reference/plans-modes/index) for all available values. |
| `plansQuery`      | `string`  | —                                                                                | Lucene query to filter which Plans are displayed as columns on the board.                                              |
| `lastPlans`       | `number`  | `1`                                                                              | Number of past or completed Plans to display on the board.                                                             |
| `nextPlans`       | `number`  | `5`                                                                              | Number of future or upcoming Plans to display on the board.                                                            |
| `planLink`        | `string`  | `/polarion/#/project/${plan.objectId.projectId}/plan?id=${plan.objectId.itemId}` | URL template for linking to individual Plans when clicking a column label. Supports `${plan.*}` variables.             |
| `stemming`        | `boolean` | `false`                                                                          | Enable automatic Plan generation by parsing resource field values — splits enum values into plan-resource pairs.       |
| `planCellsMode`   | `boolean` | `false`                                                                          | Enable plan cells mode for SAFe or stemming-based planning. Items belong to specific plan-resource cells.              |
| `plansTemplateId` | `string`  | —                                                                                | Polarion Plan template ID to use when generating Plans automatically.                                                  |

### Plans mode values

| Value              | Description                                                      | Reference                                                                   |
| ------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `PROJECT_PLANS`    | Standard Polarion Plans for a single project.                    | [Project Plans](/planningboard/reference/plans-modes/project-plans)         |
| `SAFE_SPRINTS`     | SAFe sprint Plans at program level (single Agile Release Train). | [SAFe Sprints](/planningboard/reference/plans-modes/safe-sprints)           |
| `SAFE_PFL_SPRINTS` | SAFe portfolio-level sprint Plans.                               | [SAFe Sprints](/planningboard/reference/plans-modes/safe-sprints)           |
| `SAFE_PIS`         | SAFe Program Increments.                                         | [SAFe Program Increments](/planningboard/reference/plans-modes/safe-pis)    |
| `SAFE_SOLUTION`    | SAFe Solution Train Plans.                                       | [SAFe Solution Trains](/planningboard/reference/plans-modes/safe-solutions) |

<Warning title="Plan items configuration is only available in Project Plans (`PROJECT_PLANS`) mode">
  The plan items configuration section in the widget parameters editor is only shown when `plansMode` is set to `PROJECT_PLANS`. SAFe modes use a different configuration path.
</Warning>

***

## Plan scheduling fields

These fields are on the Plan data model itself (as resolved from Polarion) and drive how Planningboard assigns work items to Plans.

| Name         | Type   | Description                                                                                                                                                                   |
| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `start_date` | `date` | The Plan's start date. Planningboard uses this when assigning work items to Plans by date range — items are added to Plans whose date range spans the item's scheduled dates. |
| `end_date`   | `date` | The Plan's due date (end date). Used alongside `start_date` for date-based Plan assignment logic.                                                                             |

<Note title="Date-based plan assignment">
  When a work item is dragged onto a Plan column, Planningboard assigns it to Plans whose `start_date`–`end_date` range spans the item's dates. If `stemming` is enabled and `syncSAFEParentsFromChildren` applies, parent Plans are automatically updated when team assignments change.
</Note>

***

## Plan link URL template

The `planLink` parameter accepts a URL template with `${plan.*}` variable substitution. Clicking a column header opens the resolved URL.

| Variable                     | Resolves to                         |
| ---------------------------- | ----------------------------------- |
| `${plan.objectId.projectId}` | The Polarion project ID of the Plan |
| `${plan.objectId.itemId}`    | The Plan ID within the project      |

### Example — link to Polarion Plan page

```properties theme={null}
planLink=/polarion/#/project/${plan.objectId.projectId}/plan?id=${plan.objectId.itemId}
```

### Example — link to a custom report parameterized by Plan

```properties theme={null}
planLink=/polarion/#/project/${plan.objectId.projectId}/wiki/REPORTS/SprintReport?plan=${plan.objectId.itemId}
```

***

## New Plan configuration

These parameters appear in the **New Plan** section of the widget parameters editor. They define the rules used when a user creates a Plan directly from the Planningboard toolbar.

| Name                | Type       | Default | Description                                                                                                                                                                 |
| ------------------- | ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Template ID`       | `string`   | —       | The plan template type to use when creating a new Plan (for example: `iteration`, `release`).                                                                               |
| `Parent ID`         | `string`   | —       | Optional parent Plan ID. New Plans will be created as children of this Plan.                                                                                                |
| `Plan Name Pattern` | `string`   | —       | Display name pattern for newly created Plans. Supports Teams variable substitution when Teams are enabled.                                                                  |
| `Plan ID Pattern`   | `string`   | —       | ID pattern that newly created Plans follow. Supports Teams variable substitution when Teams are enabled.                                                                    |
| `New Plan Duration` | `duration` | —       | Duration for newly created Plans.                                                                                                                                           |
| `Enable Teams`      | `boolean`  | `false` | When enabled, new Plans are created per team using the Teams configuration.                                                                                                 |
| `Teams`             | `array`    | —       | List of team name and ID pairs used when `Enable Teams` is active.                                                                                                          |
| `Last Plan Query`   | `string`   | —       | Lucene query to find the "last Plan" as the reference point for new Plan creation. When empty, defaults to the latest Plan in the same project with the same template type. |
| `Last Plan Sort`    | `string`   | —       | Determines which Plan from the `Last Plan Query` result is treated as the last one. When empty, sorts by `dueDate` descending (Plan with the latest due date).              |

<Tip title="Plan Name Pattern and Plan ID Pattern with Teams">
  When `Enable Teams` is active, the Plan Name Pattern and Plan ID Pattern fields come pre-populated with Teams variable syntax. If you are **not** using Teams, change these patterns — the default values include team substitution tokens that will not resolve correctly without the Teams configuration.
</Tip>

### New Plan without Teams — example

```text theme={null}
Template ID:        iteration
Parent ID:          Version_3_0
Plan Name Pattern:  Iteration {planNum}
Plan ID Pattern:    Iteration_{planNum}
New Plan Duration:  14d
Enable Teams:       false
```

This creates a new iteration under `Version_3_0` each time the **+** button is clicked in the toolbar.

### New Plan with Teams — example

```text theme={null}
Template ID:        iteration
Enable Teams:       true
Teams:
  - name: Team Alpha   id: team_alpha
  - name: Team Beta    id: team_beta
```

With Teams enabled, one Plan is created per team when the **+** button is clicked.

***

## Capacity-related Plan fields

These parameters control how Plan capacity is calculated and displayed. They interact with the capacity bar shown on each Plan column.

| Name                | Type      | Default | Description                                                                                                                                                                                       |
| ------------------- | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `capacityLoad`      | `boolean` | `false` | Enable capacity loading calculations for Plans. When `true`, capacity bars appear on each Plan column.                                                                                            |
| `multiCapacityLoad` | `boolean` | `false` | Enable per-swimlane or per-resource capacity tracking across multiple Plans simultaneously.                                                                                                       |
| `userCapacityLoad`  | `boolean` | `false` | Enable user-level capacity loading. Requires `useTeamsService=true`.                                                                                                                              |
| `capacityField`     | `string`  | —       | Custom field ID containing capacity values (for example: story points, hours). When set, capacity is read from this field rather than time-tracking fields.                                       |
| `hoursPerDay`       | `number`  | `8`     | Number of working hours per day used in capacity calculations that convert between time-based and day-based values.                                                                               |
| `useTeamsService`   | `boolean` | `false` | Enable integration with the Planningboard Teams Service for team capacity, user capacity, and team member data. When enabled, this overrides plan-level `capacity` values with team service data. |

<Warning title="Consistent calculation types are required across all Plans">
  All Plans displayed on the board must use the same calculation type. Mixing calculation types across Plans causes incorrect capacity summation. This is a critical setup requirement — verify all Plans in your project use a consistent type before enabling capacity display.
</Warning>

<Tip title="Enabling team capacity visualization">
  To enable per-swimlane capacity visualization (as shown in the demo board), set `useTeamsService=true` in your widget parameters. Without this property, team capacity data is not loaded and the capacity bar reflects only plan-level totals.
</Tip>

***

## Plan fields diagram

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/vfRg9jxXRntLqZFW/planningboard/diagrams/reference/fields/plan-fields/diagram-1.svg?fit=max&auto=format&n=vfRg9jxXRntLqZFW&q=85&s=041ae95893eafc2d6cbd5a5d3b66983d" alt="Plan column layout showing planName linking to planLink URL, a capacity bar driven by capacityLoad and useTeamsService, a start_date to end_date range for date-based assignment, and parentId, templateId, teamId, and customFields mapped to their roles" width="780" height="464" data-path="planningboard/diagrams/reference/fields/plan-fields/diagram-1.svg" />
</Frame>

***

## Configuration example

The following example shows a complete widget parameter configuration for a sprint-planning board using Project Plans with capacity enabled:

```properties theme={null}
# Plans (Columns)
plansMode=PROJECT_PLANS
lastPlans=1
nextPlans=5
plansQuery=type:iteration AND NOT status:closed
planLink=/polarion/#/project/${plan.objectId.projectId}/plan?id=${plan.objectId.itemId}

# Capacity
capacityLoad=true
hoursPerDay=8
capacityField=storyPoints
useTeamsService=true

# New Plan creation
templateId=iteration
parentId=Version_3_0
```

<Info title="Verify in application">
  The exact field IDs for `capacityField` depend on your Polarion project's custom field configuration. Check **Administration > Work Item Custom Fields** in Polarion for available field IDs.
</Info>

***

## Related reference

* [Plans Modes](/planningboard/reference/plans-modes/index) — full list of `plansMode` values and when to use each
* [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) — all widget parameters for Plans columns
* [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters) — full capacity configuration reference
* [Work Item Fields](/planningboard/reference/fields/work-item-fields) — fields on work item cards displayed within Plan columns
* [SAFe Parameters](/planningboard/reference/widget-parameters/safe-parameters) — SAFe-specific Plan configuration

<Accordion title="Sources">
  **KB Articles**

  * Planningboard Widget Parameters
  * Introduction to Planningboard
  * Planningboard interface & basic interactions

  **Support Tickets**

  * [#5960](https://support.nextedy.com/helpdesk/tickets/5960)
  * [#6496](https://support.nextedy.com/helpdesk/tickets/6496)
  * [#6174](https://support.nextedy.com/helpdesk/tickets/6174)

  **Source Code**

  * `PlanningBoardWidget.java`
  * `PlanningBoardWidgetDependenciesProcessor.java`
  * `PlanningBoardDataService.java`
  * `widget.vm`
  * `Item.java`
</Accordion>
