Chapter 04 of 19

Core modules14 min read

Duty & FTL

How to read the Duty desk, enter and end duties, run the roster board, import a roster, and compare what-if scenarios on Pilot EFB Desk.

Verified against Pilot EFB Desk 1.0.7 · Updated 14 Sep 2026

On this page

The Duty & FTL desk is your duty log with the live calculator over it, laid out for a monitor. You record or import duties, and the desk works out where you stand against the limits of your regime, EASA ORO.FTL or FAA Part 117, with the rule reference beside every figure. The line at the foot of the overview, "Personal planning only.", is the module's standing framing: your operator's crew control and OM-A remain the authority on what you may fly.

Find your way around

The desk is one frame. The masthead at the top states the duty's condition once: a status chip (On duty, Off duty, Reporting soon or In crew rest), the instant that matters next ("Reported Thu 10 Sep 07:37Z"), and a fact ledger reading Regime, Home base, Acclimatised, Consecutive duty days and Rostered ahead. Its right-hand controls are Log reserve, Import, Roster board, Export (duties as CSV) and New duty.

The section rail on the left keeps every section one click away:

GroupRowWhat it shows
LiveOverviewThe current duty, its limits and alerts
LiveTodayA 24-hour ruler of duty, sectors and rest for one day
LogRosterEvery duty on file: the Ahead, All, Calendar and Year views on one canvas
PlanReserveStandby and reserve periods with their assessment
PlanWhat-ifHypothetical duty days side by side against your limits
ToolsRoster boardA whole month in one grid
ToolsImport rosterThe import console: Import, History and Operator config tabs
ToolsRules guideHow the calculator works

Every section has its own address (/ftl?segment=roster, /ftl?view=today, /ftl?view=compare), so a bookmark or a command deck entry lands on the section you meant.

The Duty and FTL desk on the Overview while on duty: a masthead with an On duty chip, Reported Thu 10 Sep 07:37Z, a summary line reading EGLL 4 sectors 4:58 elapsed EGLL EHAM EGLL EGPH EGLL, a fact ledger of Regime EASA ORO.FTL, Home base EGLL, Acclimatised GMT+1, Consecutive duty days 16 and Rostered ahead 2, and buttons Log reserve, Import, Roster board, Export and New duty; a left rail grouped Live Overview and Today, Log Roster, Plan Reserve and What-if, Tools Roster board, Import roster and Rules guide; a seven-cell stat strip of FDP elapsed 4:59, FDP remaining 3:20 max 12:00, Duty 7 days 40:50 limit 60:00, Duty 28 days 148:35 limit 190:00, Block 28 days 86:35 limit 100:00, Rest required 12:00 and Sectors 4; a Current duty panel with How FDP was computed and Edit duty buttons, a Remaining FDP ring reading 3:20 with report 07:37Z, max FDP 12:00, elapsed 4:59 and duty ends 16:47Z, planned duty end 16:47Z, regulatory FDP latest 19:37Z, nearest limit 28 days 13:25 left and an End duty now button, Flight time cards labelled ORO.FTL.210(b) for 28 days, this year and 12 months and Duty time cards labelled ORO.FTL.210(a) for 7, 14 and 28 days each with a used-of-limit bar, a Provenance note, an Alerts panel reading OK All within limits, and side panels Weekly recovery rest ORO.FTL.235, Days free of duty ORO.FTL.105 and FDP extensions ORO.FTL.205(d)
The Overview mid-FDP: the masthead, the rail, the stat strip, the ring, and the ladders with their rule references.

How to pick your rules

The calculator follows one regime at a time.

  1. The first time you open the desk, answer the regime card on the Overview: EASA ORO.FTL or FAA Part 117.
  2. To change it later, scroll to the Duty settings card at the foot of the Overview canvas. The Regime row switches between EASA and FAA; the Usual crew complement row (Single, 2, 3, 4) pre-fills new duties.
  3. Or open Settings > Your flying profile, the row the Settings console lists as FTL regime. It sets the same regime.

How to read the Overview

  1. Read the stat strip: FDP elapsed, FDP remaining against the max, Duty 7 days, Duty 28 days and Block 28 days against their limits, Rest required after release, and Sectors this duty.
  2. Read the Current duty panel. The Remaining FDP ring shows the report, max FDP, elapsed and the duty-end instant, then Planned duty end and Regulatory FDP latest underneath, and the Nearest limit line.
  3. Read the Flight time and Duty time ladders beside it. Each group is headed with the rule it implements - ORO.FTL.210(b) and ORO.FTL.210(a) under EASA, 14 CFR 117.23(b) and 117.23(c) under Part 117 - and each card reads used of max with the remainder underneath.
  4. Read the Provenance note under the ladders. It says: "Cumulative totals use duties recorded in Pilot EFB. Confirm imported history is complete before treating them as compliance evidence." Take it at its word.
  5. Scan the Alerts panel and the side panels (Weekly recovery rest, Days free of duty, FDP extensions), each with its rule reference and a plain line on what it does and does not check.
  6. Click How FDP was computed in the panel head when a figure surprises you. It shows which table row applied and what the calculator counted.

Off duty, the console becomes one current-duty line over a Rostered ahead table with the engine's projected reading per row.

How to open a limit's detail

  1. Scroll to the Limit breakdown panel; its header reads "Click a limit for its contributing duties".
  2. Click a limit row. A centred card opens with the limit name, an engine chip (Over limit or Near limit when it applies), the rolling window and the duty count.
  3. Read the left rail: the used-in-window figure against the cap with a fill bar, then Over by or Remaining, Limit, Duties and Usage.
  4. Read the ledger on the right: each duty with its date, station, Report to off times, the Counted hours and its Share of limit bar. Hover a row for Open to jump to that duty.
  5. Click Done or press Esc to close.

How to enter a new duty

  1. Press Cmd+N (Ctrl+N on Windows) anywhere on the Duty desk, or click New duty in the masthead. The New duty dialog opens over the page you are on.
  2. Enter the Report: the reporting airport ICAO and the reporting time, then the Off duty time on the same row.
  3. Set Crew complement and Rest facility; switch Augmented crew on if it applies, with the minimum in-flight rest achieved in minutes.
  4. Add each sector on its card: departure, destination and the block window. Mark positioning legs as such.
  5. Open Notes, discretion & standby if you need it: notes, a discretion entry, or Called out from standby with when the standby began.
  6. Read the Live FDP pane on the right. It evaluates against your maximum as you type.
  7. Press Enter or click Save duty. The footer reads "Enter saves, Esc closes"; Esc, the backdrop and Cancel all run the same "Discard duty?" guard on a changed draft.
The New duty dialog over the Duty desk, pre-filled from the last duty: a DUTY & FTL eyebrow and New duty title, a Use last duty as template button, REPORTING AIRPORT EGLL London Heathrow Airport Europe/London, REPORT 2026-09-13 06:10, OFF DUTY 2026-09-13 11:45, CREW COMPLEMENT set to 2 pilot, REST FACILITY set to None, an Augmented crew switch off, a SECTORS section noting All times in Europe/London with S1 EGLL to EDDF off block 07:15 on block 08:50 block 1h 35m and take-off 07:27 landing 08:42, and S2 EDDF to EGLL off block 09:35 on block 11:15 block 1h 40m, each with a Positioning switch, a collapsed Notes, discretion and standby row marked Optional, a LIVE FDP pane reading EASA ORO.FTL, FDP headroom 7h 55m OK, 39 percent used, 5h 05m planned of 13h 00m max, a CAUTION warning about an early start reported 06:10 local within the 05:00-06:59 window citing ORO.FTL.105, and a Personal planning only footer, with Enter saves, Esc closes, Cancel and Save duty at the foot
The New duty dialog filled from the last duty: report and off-duty times, crew and rest, two sectors, and the Live FDP pane reading the draft as you type.

How to edit or end a duty

  1. Click Edit duty in the Current duty panel head, or click a row in any duty table. The same dialog opens as Edit duty; Save changes writes it, and the page underneath re-queries in place.
  2. To close a duty in progress, click End duty now under the ring.
  3. Confirm End duty in the "End duty now?" prompt. The duty's end is set to the current minute and rest is counted from there.

How to work the Roster desk

The Roster row on the rail is one canvas with a fixed head: a VIEW switch of Ahead, All, Calendar and Year, a live "N ahead, M recorded" caption, and the roster's command row of Import roster, Open roster board, Add duty, Add a series, Repeat across dates and Log reserve.

  1. Open Ahead. A ledger sits over the Rostered ahead table: date, report, route, kind, sectors, duty span, rest before, and a Projected column reading Within limits, Caution, Projected breach or Not projected. A Recorded table of the latest released duties follows.
  2. Read the note under the ledger: "Projected readings assume each rostered duty is flown as planned. Recorded rows are clock facts; the All view lists every duty by month with the engine's FDP reading."
  3. Open All for the full month-by-month table with the FDP reading per duty, Calendar for weekly and monthly duty load, and Year for the season as a heatmap.
  4. Click any row to open it in the duty editor.

How to edit a month on the roster board

  1. Click Roster board in the masthead, the rail's Tools group or the Roster command row. The board opens inside the desk frame with its own head: the subtitle reads "Add and edit many duties at once - nothing is written until you save", with Discard and Save on the right.
  2. Pick the month with the arrows, or This month. The ribbon under the month marks duty days, invalid rows and today.
  3. Click a cell in the Duty grid (Date, Report, Off duty, Airport, Zone, Route) and type. Enter edits, Tab moves to the next cell, Space ticks the row, Esc cancels. Click a row to open it in the full duty editor and Apply to board.
  4. Click Add duty for a new row, Import file to jump to the import console, or Repeat pattern for the repeat flow.
  5. Tick two or more rows to open the Bulk edit pane: Set crew complement (Single pilot to 4 pilot), Set rest facility (None, Class 3 - seat, Class 2 - seat, Class 1 - bunk), Shift all times in 15-minute or one-hour steps then Apply, and Remove N duties. Clear selection closes it.
  6. Review the Edited, New, Removed and Invalid counts in the grid head (Jump to first invalid finds a problem row), then click Save. Every staged change lands in one transaction: all of its rows or none.
The roster board for September 2026 inside the Duty desk frame: a breadcrumb Duty and FTL / Roster board, the same masthead, a head reading Roster board, Add and edit many duties at once - nothing is written until you save, with Discard and Save, a month toolbar with September 2026 arrows, At a glance 9 duty days, 3 selected, a legend for duty day, invalid and today, and Import file, Repeat pattern and Add duty buttons, a date ribbon from 01 to 30 with duty days outlined, a Duty grid of 9 rows with columns Date, Report, Off duty, Airport, Zone IANA and Route ICAO chain, three rows ticked for 01, 02 and 04 September with routes OMDB EGLL OMDB, EGKK LFPG EGKK and LIRF OMDB LIRF, a footer reading Edits stage in place - nothing is written until you save with Enter edit, Tab next, Space select and Esc cancel keycaps, and a Bulk edit pane on the right reading 3 duties selected Tue 01 - Fri 04 September 2026 with Set crew complement buttons Single pilot, 2 pilot, 3 pilot and 4 pilot, Set rest facility buttons None, Class 3 - seat, Class 2 - seat and Class 1 - bunk, a Shift all times control at +0 min with -1h, -15m, +15m and +1h steps and Apply, and a red Remove 3 duties button
The roster board with three rows selected and the Bulk edit pane open: crew, rest and a time shift for the whole selection, staged until Save.

How to import a roster

  1. Click Import in the masthead or Import roster on the rail. The console opens on its Import tab; History and Operator config are the other two.
  2. Under Bring a roster in (its chip reads "Reviewed before anything is saved"), click Pick roster file on the CSV or iCal file tile, or drop the .csv or .ics file anywhere on the window. If you have no file, Enter duties manually on the Type it in tile opens the duty dialog instead.
  3. For a CSV, check the mapping on Match columns to duty details. The columns are pre-filled from the header names; the Clock times in this file: are they UTC or local? panel settles the time base.
  4. Review on Check the roster before saving. Every parsed duty sits in the board's grid with a filter of All, Invalid, Check, Duplicate, Edited and Ready. Click or type into a cell to correct it; a one-click fix under an invalid row sets the value it names. The note under the grid is the contract: "Edits apply to this import only
    • nothing is written to your log until you save."
  5. Tick the duties to keep (Select all / Select none; duplicates start unticked) and click Save. The result page reads "Saved to your duty log" with View my duties, Import another file and Import history.
The Import roster console inside the Duty desk frame: the masthead reading Off duty, No duty rostered, Regime EASA ORO.FTL, Home base EGLL, Acclimatised GMT+1, Rostered ahead none and Since release 34h 59m with Log reserve, Import, Roster board, Export and New duty buttons, the section rail with Import roster selected under Tools, a TOOLS Import roster header, tabs for Import, History and Operator config, a BRING A ROSTER IN panel tagged Reviewed before anything is saved with a CSV or iCal file tile marked Works offline and a Pick roster file button over a drop-the-file-anywhere zone, a Type it in tile marked No file needed with an Enter duties manually button, the line Company OPS remains authoritative - this import is informational only, a RECENT IMPORTS panel reading No roster imports yet with an Open history link, a Roster feeds card with an Add roster feed (URL) button, and a HOW IT WORKS list of four steps ending Save. Only ticked duties reach your log
The import console on its Import tab: a file or manual entry on the left, roster feeds and How it works on the right, and nothing written until you save.

How to repeat a duty across dates

  1. Click Repeat across dates on the Roster desk (or Repeat pattern on the roster board) and pick the source duty.
  2. Pick the dates: the weekday preset, or individual date pills.
  3. Check the preview, then click Add N duties.

How to compare what-if scenarios

  1. Open What-if on the rail. The left column carries the what-if editor, headed: "A quick check: set up a duty below and the verdict updates live against your FTL limits. Nothing here is saved to your records."
  2. Read the Outcome card for the baseline draft: the verdict, the FDP remaining of the max, whether any cumulative window is exceeded, and the Earliest next report with its own caveat that recovery and operator rules may require a later report.
  3. Click chips in the Scenarios strip on the right: Report +90 min, +1 sector, Slip -1h, Slip +30m, Slip +1h, Slip +2h, End +1h later and -1 sector. Each becomes a column beside Baseline ("The duty exactly as drafted") in the Scenario comparison board.
  4. Read each column: Verdict, Max FDP, Planned FDP, Margin and Planned off duty. A column that would exceed a window says so in words. Remove drops a column; nothing is ranked and nothing is saved.
The What-if section of the Duty desk with the What-if rail row selected: a left column headed A quick check, set up a duty below and the verdict updates live against your FTL limits, nothing here is saved to your records, an Outcome card reading WITHIN FDP, 3h 20m remaining of max FDP, 8h 40m planned of 12h 00m max FDP, no cumulative flight or duty window exceeded, Earliest next report Fri 11 Sep 04:47Z with a note that recovery and operator rules may require a later report, a Try a change chip reading +1 sector, and a What-if duty card reading Baseline your active duty, what-if sectors go on top, reporting EGLL, report time Thu 10 Sep 07:37Z, 4 real sectors and 0 what-if sectors; on the right a Scenarios strip of chips Report +90 min, +1 sector, Slip -1h, Slip +30m, Slip +1h, Slip +2h, End +1h later and -1 sector over a Scenario comparison board with one Baseline column, The duty exactly as drafted, reading Verdict WITHIN FDP, Max FDP 12:00, Planned FDP 8:40, Margin 3:20 under max FDP and Planned off duty 10 Sep 16:47Z, the line Pick scenarios above to compare them against the baseline draft, and a footer reading Personal planning only.
What-if: the live verdict on the left, the scenario chips and the comparison board on the right, and nothing saved.

How to log reserve and standby

  1. Click Log reserve in the masthead or on the Roster desk. The Log reserve period page opens ("Record a reserve or standby block").
  2. Pick the kind. Under EASA the group is Standby or reserve type: Airport standby, Home / other standby or Reserve. Under Part 117 it is Reserve type: Short-call reserve or Long-call reserve.
  3. Enter the airport ICAO, the RAP start (reserve availability start) and, if you were not called, the RAP end (availability ended).
  4. If you were called out, switch Called out on and enter the Reporting time (when called) and the End of duty.
  5. Click Save reserve period (Enter saves).

The Reserve section then lists every period (Date, Airport, Kind, Report / start, End, Reserve time) with the recent periods assessed beside the table. Its footnote states how each kind is counted under your regime and ends "Your operator scheme may differ - times are as logged, in UTC."

To record a flying duty that was called out from standby, use the duty dialog's Called out from standby switch instead.

On iPhone and iPad

The phone keeps its own Duty tab with a six-way segmented control, the Live Activity duty countdown on the lock screen, and the PDF roster importer, and it caps the free tier at 20 logged duties. On Desk nothing is capped, the segments become the rail, and the roster board, the comparison board and the in-place editor exist only in the browser. A duty saved on either side reaches the other through sync. See Duty & FTL on iPhone.

Troubleshooting

A limit looks wrong. Click the limit in the Limit breakdown panel and read the ledger of contributing duties, then How FDP was computed for the table row that applied. Compare both against your OM-A.

The cumulative totals are lower than my real hours. The ladders count only duties recorded in Pilot EFB. Import or enter the missing history before treating a total as evidence, as the Provenance note says.

The board will not save. A row is marked INVALID. Click Jump to first invalid; the pane names the problem. Save is blocked until every staged row is valid.

My imported duty is flagged. Filter the review grid to Invalid or Check, click the row and correct the cell, or use the one-click fix under it. How times are read explains the reading rules.

I imported the wrong file. Open the import console's History tab, open the batch and click Remove this import's duties, then confirm Remove. The batch is marked REMOVED and leaves the log as one unit; Restore duties on the same batch brings it back.

Cmd+N opened a logbook entry. The chord means "new duty" only while the address starts with /ftl. Open the Duty desk first.

Where next

  • Logbook - the entries table and bulk editor; Build from duties turns your duty sectors into draft logbook entries.
  • Overview - the live duty and the rostered-ahead read on the home desk.
  • Keyboard and command deck - Cmd+N, the "?" sheet and the Cmd+K deck.

Pilot EFB Desk

Try it in the next tab

The fastest way through this chapter is with Pilot EFB Desk open in a browser tab beside it. Informational reference only, not a certified EFB.

Pilot EFB

One companion for every leg,on every screen.

Free on iPhone, iPad and Apple Watch. Pilot EFB Desk brings it to the browser. Offline-first, so the tools work before, during and after the flight.

Azimuth Labs Ltd · Registered in England and Wales.
Company No. 17289059 · ICO No. ZC178458.
Registered office: 82A James Carter Road, Mildenhall, Suffolk, IP28 7DE, United Kingdom.

© 2026 Pilot EFB. All rights reserved. Pilot EFB is not a certified Electronic Flight Bag and is not affiliated with any aviation authority, airline, or aircraft manufacturer. Apple, the Apple logo, App Store, Apple Watch, iPhone, iPad, iPadOS, Siri, Face ID, Live Activities, Spotlight, Stage Manager and Dynamic Island are trademarks of Apple Inc., registered in the U.S. and other countries and regions.