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

# Training Navigation

> Control training-level navigation and session management

## Overview

The **Training Navigation** action controls high-level training session management. It allows you to return learners to the dashboard, end sessions, restart trainings, or jump to a specific state. Each action option is mutually exclusive—you can only choose one per action.

## When to Use

* **Training completion**: send learners to the home dashboard after they finish
* **Session termination**: log out the learner and end their session
* **Error recovery**: restart the entire training after a critical failure
* **Assessment restart**: allow learners to restart from a checkpoint or specific state
* **Exit paths**: provide emergency exit or "give up" options

## Options

| Option              | Parameters   | Description                                                                                                                  |
| ------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| **Go to Home**      | (none)       | Returns the learner to the training dashboard. The training session remains open but the viewer closes.                      |
| **Logout**          | (none)       | Ends the learner's session completely. They are logged out and must re-authenticate to access training.                      |
| **Reload Training** | (none)       | Restarts the training from the beginning. All variables, progress, and state machine are reset. The learner stays logged in. |
| **Reload to Step**  | Target State | Restarts the training and automatically jumps to a specific state. Useful for assessment retry flows.                        |

## Practical Examples

### Completion Flow

**Scenario**: Learner finishes all required tasks. Show a success screen and return them to browse other trainings.

<Steps>
  <Step>
    Create a state called `TrainingComplete` with an `onEntry` action list:

    1. **Play Audio**: success fanfare (optional)
    2. **Delay**: `2000` (let success message display)
    3. **Training Navigation**: select "Go to Home"
  </Step>

  <Step>
    Use a transition with condition `isComplete == true` to reach this state.
  </Step>
</Steps>

### Assessment Restart

**Scenario**: Learner takes a quiz. If they fail (score \< 70), offer a restart from the quiz state instead of restarting the entire training.

<Steps>
  <Step>
    Create states: `QuizStart`, `QuizQuestion1`, `QuizComplete`, `QuizFailed`.
  </Step>

  <Step>
    In the `QuizFailed` state's `onEntry`:

    1. **Display message**: "You scored 65%. Try again?"
    2. Add a button that triggers a transition with a **Training Navigation** action:
       * Option: "Reload to Step"
       * Target State: `QuizStart`
  </Step>

  <Step>
    Learners can retry the quiz without repeating the earlier instructional content.
  </Step>
</Steps>

### Emergency Exit

**Scenario**: Provide a "quit and save progress" button that ends the session cleanly.

<Steps>
  <Step>
    Create a state `SessionEnded` that displays a farewell message.
  </Step>

  <Step>
    Add a button in a previous state that transitions to `SessionEnded` with a **Training Navigation** action:

    * Option: "Logout"
  </Step>

  <Step>
    The learner is logged out. Their progress up to that point is saved.
  </Step>
</Steps>

<Warning>
  **Reload Training** resets all variables and progress. Learners will restart from the beginning. Use **Reload to Step** if you want them to restart but skip certain sections.
</Warning>

<Note>
  **Go to Home** does not log out the learner. They remain authenticated and can launch another training or resume this one if the system supports it. **Logout** ends authentication entirely—they must log in again to access any training.
</Note>

<Tip>
  Combine **Reload to Step** with conditional branching to create flexible retry mechanisms. For example, after a failed assessment, jump to a remedial state instead of the original quiz state to provide additional instruction before retry.
</Tip>
