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:
| Group | Row | What it shows |
|---|---|---|
| Live | Overview | The current duty, its limits and alerts |
| Live | Today | A 24-hour ruler of duty, sectors and rest for one day |
| Log | Roster | Every duty on file: the Ahead, All, Calendar and Year views on one canvas |
| Plan | Reserve | Standby and reserve periods with their assessment |
| Plan | What-if | Hypothetical duty days side by side against your limits |
| Tools | Roster board | A whole month in one grid |
| Tools | Import roster | The import console: Import, History and Operator config tabs |
| Tools | Rules guide | How 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.

How to pick your rules
The calculator follows one regime at a time.
- The first time you open the desk, answer the regime card on the Overview: EASA ORO.FTL or FAA Part 117.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- Scroll to the Limit breakdown panel; its header reads "Click a limit for its contributing duties".
- 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.
- 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.
- 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.
- Click Done or press Esc to close.
How to enter a new duty
- 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.
- Enter the Report: the reporting airport ICAO and the reporting time, then the Off duty time on the same row.
- Set Crew complement and Rest facility; switch Augmented crew on if it applies, with the minimum in-flight rest achieved in minutes.
- Add each sector on its card: departure, destination and the block window. Mark positioning legs as such.
- Open Notes, discretion & standby if you need it: notes, a discretion entry, or Called out from standby with when the standby began.
- Read the Live FDP pane on the right. It evaluates against your maximum as you type.
- 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.

How to edit or end a duty
- 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.
- To close a duty in progress, click End duty now under the ring.
- 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.
- 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.
- 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."
- 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.
- Click any row to open it in the duty editor.
How to edit a month on the roster board
- 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.
- Pick the month with the arrows, or This month. The ribbon under the month marks duty days, invalid rows and today.
- 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.
- Click Add duty for a new row, Import file to jump to the import console, or Repeat pattern for the repeat flow.
- 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.
- 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.

How to import a roster
- 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.
- 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.
- 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.
- 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."
- 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.

How to repeat a duty across dates
- Click Repeat across dates on the Roster desk (or Repeat pattern on the roster board) and pick the source duty.
- Pick the dates: the weekday preset, or individual date pills.
- Check the preview, then click Add N duties.
How to compare what-if scenarios
- 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."
- 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.
- 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.
- 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.

How to log reserve and standby
- Click Log reserve in the masthead or on the Roster desk. The Log reserve period page opens ("Record a reserve or standby block").
- 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.
- Enter the airport ICAO, the RAP start (reserve availability start) and, if you were not called, the RAP end (availability ended).
- If you were called out, switch Called out on and enter the Reporting time (when called) and the End of duty.
- 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.