CARs Rest Rules Analysis — Feature #1908

Updated: 2026-06-26 · Audited: 2026-06-26 · Status: DRAFT (early research document) · Created: 2026-03-03 · Author: ALPA Bot

Document Status: This is an early-stage analysis document created before the CARs regulatory text was fully extracted. Many "TBD" items in the open questions section have since been resolved — see cars-705-flight-duty-limits.html for the complete regulatory text and calculator-can.html for the implemented reference.

Overview

Scope: CARs Part VII Subpart 5 (705) — Airline Operations ONLY (equivalent to USA Part 121 / Part 117)

Regulation: Canadian Aviation Regulations (SOR/96-433) §700.19 onward — Flight Crew Member Fatigue Management
Related Work Item: Feature #1908 — FTDT Rest Rules

CARs Regulatory Framework

Division III (§700.19 onwards): Flight Crew Member Fatigue Management

Current ALPA Mobile CARs Implementation Status

ComponentNotes
DutyPeriod_CAN (base class)Exists
DutyPeriod_CAN_UnAugmentedStandard flight operations
DutyPeriod_CAN_AugmentedAugmented crew operations
DutyPeriod_CAN_UnAugmented_RReserve operations
DutyPeriod_CAN_Augmented_RAugmented reserve operations
CalculatorRest_CAN.cs10.4 KB — partial implementation

Gap: Rest requirement rules (§§700.40–700.43, §700.50, §700.70) largely unimplemented. See the TDD Implementation Plan for full status.

Key Differences: CARs vs. Part 117

AspectUSA (Part 117)Canada (CARs 705)
Regulatory structureSingle part (117) for all commercial opsPart VII divisions vary by operation type
Rest period terminology"Rest period""Rest period" + "Local night's rest" + "Time free from duty"
Weekly rest requirement30 hours in 168 hours1 single day free from duty per 168h (§700.29(1)(c))
Pre-duty rest minimum10 hours (8h sleep opportunity)12h at home base / 10h away or 10h in suitable accommodation
Time zone rest56h + 3 physiological nights (§117.25(d))Up to 3 local nights (§700.42, TZ diff dependent)
Acclimation72h in theater or 36h free from duty<4h TZ: 72h in same zone; ≥4h TZ: 96h in same zone
Crew self-declaration§117.25(f) — crew may refuse if insufficient rest§700.26 — crew shall advise of fatigue; air operator shall not assign
Deadhead rest extension§117.25(g) — rest = max(deadhead duration, 10h)§700.43 — positioning rest rules
FRMSNot explicitly in Part 117§700.200 — exemptions via FRMS (Transport Canada process)
Reserve operations§117.21 (RAP + FDP limits)§700.70 (RAP advance notice, RDP max, WOCL extension)

Open Questions Resolved

The following questions from the original analysis have been resolved by extracting the full regulatory text:

QuestionAnswer (CARs 705)
Minimum pre-duty rest period?12h at home base; 10h away (§700.40)
Sleep opportunity requirement?No equivalent to Part 117's 8h uninterrupted sleep — CARs uses "suitable accommodation" standard
Weekly rest requirement?1 single day free from duty per 168h (§700.29(1)(c))
Home base return rest rules?§700.42(2): up to 3 local nights depending on TZ diff + hours away
Acclimation/theater change rules?§700.28(5): <4h TZ diff = 72h; ≥4h TZ diff = 96h (no longitude threshold like Part 117)
Crew self-declaration provisions?§700.26: crew shall advise of fatigue; operator cannot assign a fatigued crew member
Deadhead rest extensions?§700.43: positioning rest (different mechanism from Part 117 §117.25(g) deadhead rules)
How does FRMS work?§700.200: notice of intent to TC + FRMS plan + 90-day reporting; max 3 years, then §700.234
CARs 705 FDP limits?§700.28: 4 tables by avg flight duration + flight count; see full text
Cumulative limits?§700.27: 112h/28d, 300h/90d, 1000h/365d; §700.29: 2200h/365d, 192h/28d, 60h/7d

Data Model Enhancements Required

New properties for DutyPeriod_CAN base class:

// CARs rest requirements
public TimeSpan PreDutyRestDuration_CAN { get; set; }
public DateTimeOffset PreDutyRestStart_CAN { get; set; }
public DateTimeOffset PreDutyRestEnd_CAN { get; set; }

// CARs time zone tracking
public int TimeZoneDifferenceFromHomeHours { get; set; }
public double HoursAwayFromHomeConsecutive { get; set; }

// CARs 705 — reserve tracking
public int CARsOperationType { get; set; } = CARsOperationType.Airline_705;

// FRMS exemption flag
public bool HasFRMSExemption { get; set; }
public string FRMSExemptionNumber { get; set; }

Validation Architecture

New validation class: FTDTRestValidator_CAN (parallel to FTDTRestValidator_USA)

Calculator integration:

public static void CalculateDutyPeriod(IDutyPeriod dutyPeriod)
{
    // Existing calculations...

    // NEW: Validate CARs rest requirements
    FTDTRestValidator_CAN.ValidatePreDutyRest_CAN(dutyPeriod);
    FTDTRestValidator_CAN.ValidateWeeklyRest_CAN(dutyPeriod);
    FTDTRestValidator_CAN.ValidateTimeZoneRest_CAN(dutyPeriod);  // §700.42
    FTDTRestValidator_CAN.ValidatePositioningRest_CAN(dutyPeriod); // §700.43

    if (dutyPeriod.HasFRMSExemption)
        FTDTRestValidator_CAN.ValidateFRMSExemption_CAN(dutyPeriod);
}

Required Documentation Status

DocumentStatus
index-can.html (CARs FTDT overview)✅ Created
definitions-can.html✅ Created
calculator-can.html✅ Created
duty-period-can.html✅ Created
use-cases-can.html✅ Created
resources-can.html✅ Created
cars-705-flight-duty-limits.html (full regulatory text)✅ Created

References