Consolidation

Consolidation defines parent-child relationships between positions. When a child position is offline, calls route to its parent automatically.

What is Consolidation?

In ATC operations, when a controller goes offline, another controller often "picks up" their responsibilities. Consolidation in Landline mirrors this by automatically routing calls to the appropriate online position.

Example Hierarchy:

                    ABQ_16_CTR (root)
                       │
           ┌───────────┴───────────┐
           │                       │
        PHX_A_APP               TUS_N_APP
           │                       │
     ┌─────┴─────┐           ┌─────┴─────┐
     │           │           │           │
  PHX_GND    ABQ_TWR      TUS_TWR     TUS_GND

When PHX_GND is offline:
  → Calls to PHX_GND route to PHX_A_APP (parent)

When both PHX_GND and PHX_A_APP are offline:
  → Calls to either route to ABQ_16_CTR (grandparent)
            

Consolidation Tab Layout

+----------------------------------------------------------+
| Position Consolidation                                    |
| Drag positions to set parent relationships...            |
|                                                          |
| [Expand All] [Collapse All]                              |
+----------------------------------------------------------+
| ┌─ Root Positions (drop zone) ──────────────────────────┐|
| │                                                        │|
| └────────────────────────────────────────────────────────┘|
|                                                          |
| ⠿ ▶ ABQ_16_CTR        Albuquerque Center             [X]|
| ⠿   ▼ PHX_A_APP       Phoenix Approach               [X]|
|       ⠿ PHX_GND       Phoenix Ground                 [X]|
|       ⠿ ABQ_TWR       Albuquerque Tower              [X]|
| ⠿   ▶ ZAB_TMU         Traffic Management         SUP [X]|
|                                                          |
+----------------------------------------------------------+
| ⠿ Drag to reorder or nest positions                      |
| SUP = Supervisor position                                |
+----------------------------------------------------------+
            

Understanding the Tree

Visual Elements

Element Meaning
▶ / ▼ Expand/collapse children (click to toggle)
⠿ (grip dots) Drag handle - drag to move position
Indentation Shows hierarchy depth (children indented under parents)
SUP Supervisor position badge
[X] Remove parent (move to root)

Setting Parent Relationships

Method 1: Drag and Drop

  1. Click and hold the grip dots (⠿) next to a position
  2. Drag over another position (potential parent)
  3. The target highlights with a blue ring
  4. Drop to set the parent relationship
Circular Prevention
You cannot drop a position onto itself or any of its descendants. This prevents circular relationships.

Method 2: Context Menu

  1. Right-click any position to open the context menu
  2. Choose from:
    • Make root position - Remove parent, place at top level
    • Select parent position - Open a searchable modal to pick a parent

Method 3: Parent Selector Modal

When you select "Select parent position" from the context menu:

  1. A modal opens with a searchable list of positions
  2. Use the search box to filter by callsign or display name
  3. Click a position to set it as the parent
  4. Click "No parent (root position)" to remove the parent

Making Root Positions

Root positions have no parent - they're at the top level of the hierarchy. To make a position a root:

Expand and Collapse

How Call Routing Works

When someone calls a position:

  1. Landline checks if the target position is online
  2. If online, the call goes directly to them
  3. If offline, Landline looks up the consolidation hierarchy
  4. The call routes to the first online parent in the chain
  5. If no online parent exists, the call indicates the position is unavailable
Call to PHX_GND:

1. PHX_GND online?
   ├─ YES → Call goes to PHX_GND
   └─ NO  → Check parent (PHX_A_APP)

2. PHX_A_APP online?
   ├─ YES → Call goes to PHX_A_APP
   └─ NO  → Check grandparent (ABQ_16_CTR)

3. ABQ_16_CTR online?
   ├─ YES → Call goes to ABQ_16_CTR
   └─ NO  → Position unavailable
            

Best Practices

Hierarchy Design

Common Structures

ARTCC Structure (ZAB Example):
    ABQ_16_CTR (root)
    ├── PHX_A_APP
    │   ├── PHX_GND
    │   └── ABQ_TWR
    └── TUS_N_APP
        ├── TUS_TWR
        └── TUS_GND

TRACON Structure:
    PHX_A_APP (root)
    ├── PHX_GND
    └── ABQ_TWR
            

Troubleshooting

Position Not Appearing

If a position isn't in the tree, ensure it exists in the Positions tab first.

Cannot Drop on Target

You cannot drop a position onto:

Changes Not Saving

Changes save automatically when you drop. If you see "Saving..." that persists, check your network connection.

Related Topics