Far 117 Calculator

#far117-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #ddd; border-radius: 8px; background-color: #f9f9f9; color: #333; line-height: 1.6; } #far117-calc-container h2 { color: #003366; margin-top: 0; text-align: center; } .input-group { margin-bottom: 20px; } .input-group label { display: block; font-weight: bold; margin-bottom: 8px; } .input-group input, .input-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; } .calc-btn { display: block; width: 100%; padding: 15px; background-color: #003366; color: white; border: none; border-radius: 4px; font-size: 18px; cursor: pointer; font-weight: bold; } .calc-btn:hover { background-color: #002244; } #fdp-result { margin-top: 25px; padding: 20px; background-color: #e7f3ff; border-left: 5px solid #003366; border-radius: 4px; display: none; } .result-value { font-size: 24px; font-weight: bold; color: #003366; } .article-section { margin-top: 40px; border-top: 1px solid #eee; padding-top: 20px; } .article-section h3 { color: #003366; } table.fdp-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; } table.fdp-table th, table.fdp-table td { border: 1px solid #ccc; padding: 8px; text-align: center; } table.fdp-table th { background-color: #eee; }

FAA FAR Part 117 FDP Calculator

Calculate your Maximum Flight Duty Period (FDP) based on Report Time and Number of Flight Segments (Table B).

1 Segment 2 Segments 3 Segments 4 Segments 5 Segments 6 Segments 7 or more Segments

Based on FAR Part 117 Table B, your Maximum Flight Duty Period is:

— hours

*Calculation assumes the flightcrew member is acclimated. Extensions and specific rest requirements may apply.

Understanding FAR Part 117 Flight Duty Limits

The Federal Aviation Administration (FAA) established 14 CFR Part 117 to mitigate pilot fatigue. One of the most critical aspects of these regulations is the Flight Duty Period (FDP). Unlike "flight time," which only counts the time the aircraft moves under its own power, FDP starts when a crew member reports for duty with the intention of flying and ends when the aircraft is parked after the last flight segment.

How to Use the Table B Calculator

Maximum FDP is determined primarily by two variables:

  • Report Time: The time (in the pilot's acclimated time zone) that the duty begins. Pilots are generally less fatigued during daylight hours, so FDP limits are higher for morning starts.
  • Flight Segments: Each takeoff and landing adds to the workload and fatigue levels. As the number of segments increases, the allowable FDP decreases.

FAR 117 Table B: Maximum Flight Duty Period

Report Time 1-2 Segments 3 Segments 4 Segments 5 Segments 6 Segments 7+ Segments
0000–0359999999
0400–04591010101099
0500–0559121212121110.5
0600–0659131312121110.5
0700–1159141413131211.5
1200–1259131312.512.51211
1300–1659121211.511.51110.5
1700–21591111101099

Example Calculation

Suppose a pilot reports for duty at 07:30 (Local Acclimated Time) to fly 4 segments.

  1. Find the time bracket: 07:00–11:59.
  2. Locate the "4 Segments" column.
  3. The intersecting value is 13 hours.

This means the pilot must be "blocks in" and the last flight finished within 13 hours of their 07:30 report time (by 20:30).

Important Considerations

Note that FAR 117 also includes Flight Time Limits (Table A), which are separate from FDP. For a two-pilot crew, the maximum flight time is 8 hours if reporting between 0000-0459, and 9 hours if reporting between 0500-1959. This calculator specifically addresses FDP, which is often the more restrictive factor for multi-leg regional or domestic operations.

function calculateFDP() { var timeInput = document.getElementById('reportTime').value; var segments = parseInt(document.getElementById('segments').value); if (!timeInput) { alert("Please enter a valid report time."); return; } var timeParts = timeInput.split(':'); var hours = parseInt(timeParts[0]); var minutes = parseInt(timeParts[1]); var totalMinutes = (hours * 60) + minutes; var fdpLimit = 0; // Table B Logic Implementation if (totalMinutes >= 0 && totalMinutes = 240 && totalMinutes < 300) { // 0400-0459 if (segments = 300 && totalMinutes < 360) { // 0500-0559 if (segments = 360 && totalMinutes < 420) { // 0600-0659 if (segments <= 2) fdpLimit = 13; else if (segments = 420 && totalMinutes < 720) { // 0700-1159 if (segments <= 2) fdpLimit = 14; else if (segments = 720 && totalMinutes < 780) { // 1200-1259 if (segments <= 2) fdpLimit = 13; else if (segments = 780 && totalMinutes < 1020) { // 1300-1659 if (segments <= 2) fdpLimit = 12; else if (segments = 1020 && totalMinutes < 1320) { // 1700-2159 if (segments <= 2) fdpLimit = 11; else if (segments = 1320 && totalMinutes < 1380) { // 2200-2259 if (segments <= 2) fdpLimit = 10; else fdpLimit = 9; } else { // 2300-2359 fdpLimit = 9; } var resultDiv = document.getElementById('fdp-result'); var output = document.getElementById('fdp-output'); output.innerHTML = fdpLimit + " Hours"; resultDiv.style.display = "block"; }

Leave a Reply

Your email address will not be published. Required fields are marked *