# CifpSid

Standard Instrument Departure (SID) procedure records parsed from FAA CIFP (Coded Instrument Flight Procedures) in ARINC 424 format

**Source:** CIFP table `CIFP_SID` · version `239462ba9c35` · effective 2026-04-16

> Each row represents one leg/sequence step within a SID procedure. A complete SID is identified by AIRPORT_IDENTIFIER + SID_STAR_APPROACH_IDENTIFIER + ROUTE_TYPE + TRANSITION_IDENTIFIER. Multiple ICAO_CODE and SECTION_CODE columns reference different navaids/fixes used within the same record.

## Example query

```graphql
# Introspect the CifpSid type in GraphiQL at https://api.nav.sortie.co/graphql
# Example shape (pair with a compatible root query field):
{
  # ...rootQuery... {
    recordType
    customerAreaCode
    sectionCode
    airportIdentifier
  # }
}
```

Run at https://api.nav.sortie.co/graphql (GraphiQL available in-browser).

## Fields

| Field | Type | Description | Units | Enum |
|---|---|---|---|---|
| `recordType` | `RecordType` | ARINC 424 record type indicator; 'S' denotes a standard (non-tailored) record |  | `S`=Standard record |
| `customerAreaCode` | `CifpControlledAirspaceCustomerAreaCode` | Geographic area code indicating the ICAO region or country grouping for this record |  | `CAN`=Canada; `LAM`=Latin America and Caribbean; `PAC`=Pacific (non-CONUS); `USA`=United States (CONUS) |
| `sectionCode` | `CifpSidSectionCode` | ARINC 424 section and subsection code identifying this record as a SID procedure; 'PD' indicates Airport SID records |  | `PD`=Airport SID procedure |
| `airportIdentifier` | `String` | ICAO four-character identifier of the airport to which this SID belongs |  |  |
| `icaoCode` | `CifpSidIcaoCode` | ICAO region code associated with the airport identifier, used to resolve duplicate airport identifiers across regions |  | `K1`, `K2`, `K3`, … (13 values) |
| `sidStarApproachIdentifier` | `String` | Identifier (name) of the SID procedure, typically up to 6 characters including the amendment suffix digit |  |  |
| `routeType` | `CifpHeliportSidRouteType` | Identifies the type of SID route segment this record belongs to |  | `1`, `2`, `3`, … (8 values) |
| `transitionIdentifier` | `String` | Identifies the specific transition within the SID; for runway transitions this is typically the runway identifier (e.g. RW16), for enroute transitions it is the fix name |  |  |
| `sequenceNumber` | `CifpSidSequenceNumber` | Sequential order number of this leg within the transition, incremented by 10 for each successive leg |  | `010`, `020`, `030`, … (13 values) |
| `fixIdentifier` | `String` | Identifier of the waypoint, navaid, airport, or runway fix that terminates this leg |  |  |
| `icaoCode2` | `CifpSidIcaoCode2` | ICAO region code associated with FIX_IDENTIFIER, used together with SECTION_CODE_2 to uniquely identify the terminating fix |  | `CY`, `K`, `K1`, … (15 values) |
| `sectionCode2` | `CifpSidSectionCode2` | ARINC 424 section/subsection code indicating the type of the terminating fix identified by FIX_IDENTIFIER and ICAO_CODE_2 |  | `D`=VHF Navaid (VOR/VORDME/DME); `DB`=NDB Navaid; `EA`=Enroute Waypoint; `PA`=Airport reference point; `PC`=Airport Terminal Waypoint; `PG`=Runway |
| `continuationRecordNo` | `CifpHeliportMsaContinuationRecordNo` | Continuation record number; '0' indicates the primary record, values 1+ indicate continuation records with additional data for the same leg |  | `0`=Primary record; `1`=First continuation record |
| `waypointDescriptionCode` | `CifpSidWaypointDescriptionCode` | Up to four coded characters describing attributes of the terminating fix; first character indicates fix type, second indicates fly-over/fly-by and route position |  | `A`, `E`, `EB`, … (13 values) |
| `turnDirection` | `CifpSidTurnDirection` | Specifies the direction of turn at or before the fix for certain path terminators |  | `E`=Either direction (pilot's discretion); `L`=Left turn; `R`=Right turn |
| `rnp` | `String` | Required Navigation Performance value for this leg; the accuracy requirement in nautical miles that the aircraft navigation system must meet | nautical miles |  |
| `pathAndTermination` | `CifpSidPathAndTermination` | ARINC 424 path terminator defining the geometry and termination condition of this leg |  | `AF`, `CA`, `CF`, … (18 values) |
| `turnDirectionValid` | `TurnDirectionValid` | Indicates whether the TURN_DIRECTION field is mandatory ('Y') or a recommendation; when null the turn direction is not specified |  | `Y`=Turn direction is mandatory |
| `recommendedNavaid` | `String` | Identifier of the primary recommended navaid (VOR, DME, NDB, etc.) associated with this leg, used for course guidance or distance measurement |  |  |
| `icaoCode3` | `CifpSidIcaoCode3` | ICAO region code associated with RECOMMENDED_NAVAID, used to uniquely identify the navaid |  | `K1`, `K2`, `K3`, … (11 values) |
| `arcRadius` | `String` | Radius of a DME arc or RF leg; stored as an integer representing nautical miles multiplied by 1000 (i.e. divide by 1000 to get nautical miles) | nautical miles (×0.001) |  |
| `theta` | `String` | Magnetic bearing from the recommended navaid to the fix, expressed in tenths of degrees (divide by 10 for degrees) | degrees magnetic (×0.1) |  |
| `rho` | `String` | Distance (DME) from the recommended navaid to the fix, expressed in tenths of nautical miles (divide by 10 for nautical miles) | nautical miles (×0.1) |  |
| `magneticCourse` | `String` | Magnetic course or heading for this leg, stored as tenths of degrees (e.g. 1638 = 163.8°); used with CF, CA, VA, VD path terminators | degrees magnetic (×0.1) |  |
| `routeHoldingDistanceOrTime` | `String` | For track legs, the leg distance in tenths of nautical miles; for holding patterns, the hold leg time in tenths of minutes or distance in tenths of nautical miles | nautical miles (×0.1) or minutes (×0.1) |  |
| `recommendedNavaid2` | `String` | Identifier of a secondary recommended navaid for this leg, used in conjunction with CENTER_FIX for RF legs or as an additional reference navaid |  |  |
| `altitudeDescription` | `String` | Qualifier describing how the ALTITUDE and ALTITUDE_2 values are to be applied for this leg |  | `+`=At or above altitude (ALTITUDE field); `-`=At or below altitude (ALTITUDE field); `B`=At or above ALTITUDE_2 and at or below ALTITUDE (window constraint) |
| `atcIndicator` | `AtcIndicator` | Indicates that the altitude constraint is an ATC-assigned altitude and may differ from published; 'A' when present |  | `A`=ATC altitude constraint |
| `altitude` | `String` | Primary altitude constraint for this leg, encoded as a 5-digit value in feet MSL (e.g. 04000 = 4000 ft MSL); interpretation depends on ALTITUDE_DESCRIPTION | feet MSL |  |
| `altitude2` | `String` | Secondary altitude constraint (upper limit) for this leg when ALTITUDE_DESCRIPTION is 'B', encoded as a 5-digit value in feet MSL | feet MSL |  |
| `transitionAltitude` | `String` | Transition altitude or transition level for the airport in feet MSL, above which flight levels are used; applies to the procedure environment | feet MSL |  |
| `speedLimit` | `String` | Speed restriction for this leg in knots indicated airspeed (KIAS); interpretation depends on SPEED_LIMIT_DESCRIPTION | knots |  |
| `verticalAngle` | `String` | Vertical angle (descent/climb gradient) for the leg in degrees, stored as tenths of degrees (e.g. -300 = -3.00°); used for precision-like vertical guidance on RNAV procedures | degrees (×0.01) |  |
| `centerFixOrTaaProcedureTurnIndicator` | `String` | For RF legs, the identifier of the center fix of the arc; for TAA procedures, an indicator of the TAA sector or procedure turn requirement |  |  |
| `multipleCodeOrTaaSectorIdentifier` | `MultipleCodeOrTaaSectorIdentifier` | For procedures with multiple routes of the same type and identifier, a letter disambiguating them; also used as TAA sector identifier |  | `A`=Multiple code A or TAA straight-in sector; `B`=Multiple code B or TAA left base sector |
| `icaoCode4` | `CifpSidIcaoCode4` | ICAO region code associated with the CENTER_FIX_OR_TAA_PROCEDURE_TURN_INDICATOR fix or RECOMMENDED_NAVAID_2 |  | `K`=United States generic; `P`=Pacific generic |
| `sectionCode3` | `CifpSidSectionCode3` | ARINC 424 section/subsection code identifying the type of the fix referenced by CENTER_FIX_OR_TAA_PROCEDURE_TURN_INDICATOR or RECOMMENDED_NAVAID_2 |  | `D`=VHF Navaid (VOR/VORDME/DME); `DB`=NDB Navaid; `EA`=Enroute Waypoint; `PA`=Airport reference point; `PC`=Airport Terminal Waypoint |
| `gnssFmsIndication` | `String` | Indicates GNSS or FMS applicability for this leg; specifies whether GNSS or FMS equipment is required or authorized |  |  |
| `speedLimitDescription` | `String` | Qualifier indicating whether the speed limit in SPEED_LIMIT is a mandatory, maximum, or minimum constraint |  | `+`=Minimum speed (at or above); `-`=Maximum speed (at or below); `@`=Mandatory speed (at) |
| `apchRouteQualifier1` | `String` | Approach or route qualifier 1; for SID records used to indicate special procedure characteristics or equipment requirements (e.g. RNAV, RNP type) |  |  |
| `apchRouteQualifier2` | `String` | Approach or route qualifier 2; secondary qualifier used in conjunction with APCH_ROUTE_QUALIFIER_1 to further define procedure type or sensor requirements |  |  |
| `fileRecordNo` | `String` | Sequential file record number assigned to this record within the CIFP data file, used for traceability and ordering |  |  |
| `cycleDate` | `String` | AIRAC cycle date when this record was last created or modified, in YYMM format (e.g. 2304 = year 2023, cycle 04) |  |  |

## Enum values

### `icaoCode` (`CifpSidIcaoCode`)

| Code | Description |
|---|---|
| `K1` | contiguous US (states 1) |
| `K2` | contiguous US (states 2) |
| `K3` | contiguous US (states 3) |
| `K4` | contiguous US (states 4) |
| `K5` | contiguous US (states 5) |
| `K6` | contiguous US (states 6) |
| `K7` | contiguous US (states 7) |
| `PA` | Alaska |
| `PF` | Pacific oceanic islands (Micronesia/Marshall/Caroline) |
| `PH` | Hawaii |
| `PO` | Pacific oceanic |
| `TI` | US Virgin Islands / Puerto Rico area |
| `TJ` | Puerto Rico |

### `routeType` (`CifpHeliportSidRouteType`)

| Code | Description |
|---|---|
| `1` | Engine Out SID |
| `2` | SID Runway Transition |
| `3` | SID Common Route or SID |
| `4` | RNAV SID Runway Transition |
| `5` | RNAV SID Common Route or RNAV SID |
| `6` | SID Enroute Transition |
| `T` | Vector SID Runway Transition |
| `V` | Vector SID Enroute Transition |

### `sequenceNumber` (`CifpSidSequenceNumber`)

| Code | Description |
|---|---|
| `010` | Leg sequence 1 |
| `020` | Leg sequence 2 |
| `030` | Leg sequence 3 |
| `040` | Leg sequence 4 |
| `050` | Leg sequence 5 |
| `060` | Leg sequence 6 |
| `070` | Leg sequence 7 |
| `080` | Leg sequence 8 |
| `090` | Leg sequence 9 |
| `100` | Leg sequence 10 |
| `110` | Leg sequence 11 |
| `120` | Leg sequence 12 |
| `130` | Leg sequence 13 |

### `icaoCode2` (`CifpSidIcaoCode2`)

| Code | Description |
|---|---|
| `CY` | Canada |
| `K` | United States generic |
| `K1` | contiguous US (states 1) |
| `K2` | contiguous US (states 2) |
| `K3` | contiguous US (states 3) |
| `K4` | contiguous US (states 4) |
| `K5` | contiguous US (states 5) |
| `K6` | contiguous US (states 6) |
| `K7` | contiguous US (states 7) |
| `MY` | Bahamas |
| `P` | Pacific generic |
| `PA` | Alaska |
| `PH` | Hawaii |
| `TI` | US Virgin Islands / Puerto Rico area |
| `TJ` | Puerto Rico |

### `waypointDescriptionCode` (`CifpSidWaypointDescriptionCode`)

| Code | Description |
|---|---|
| `A` | Airport as waypoint |
| `E` | Essential waypoint (fly-by) |
| `EB` | Essential waypoint, overfly, route boundary point |
| `EE` | Essential waypoint, end of SID/STAR/approach route |
| `EY` | Essential waypoint, fly-over |
| `G` | Runway as waypoint |
| `N` | NDB navaid as waypoint |
| `NE` | NDB navaid as waypoint, end of route segment |
| `NY` | NDB navaid as waypoint, fly-over |
| `V` | VHF navaid as waypoint |
| `VB` | VHF navaid as waypoint, route boundary |
| `VE` | VHF navaid as waypoint, end of route segment |
| `VY` | VHF navaid as waypoint, fly-over |

### `pathAndTermination` (`CifpSidPathAndTermination`)

| Code | Description |
|---|---|
| `AF` | Arc to Fix (DME arc to a fix) |
| `CA` | Course to Altitude |
| `CF` | Course to Fix |
| `CI` | Course to Intercept |
| `DF` | Direct to Fix |
| `FA` | Fix to Altitude |
| `FC` | Fix to Course distance |
| `FM` | Fix to Manual termination |
| `HA` | Hold to Altitude |
| `HM` | Hold to Manual termination |
| `IF` | Initial Fix |
| `RF` | Radius to Fix (constant radius turn to fix) |
| `TF` | Track to Fix |
| `VA` | Heading to Altitude |
| `VD` | Heading to DME Distance |
| `VI` | Heading to Intercept |
| `VM` | Heading to Manual termination |
| `VR` | Heading to Radial intercept |

### `icaoCode3` (`CifpSidIcaoCode3`)

| Code | Description |
|---|---|
| `K1` | contiguous US (states 1) |
| `K2` | contiguous US (states 2) |
| `K3` | contiguous US (states 3) |
| `K4` | contiguous US (states 4) |
| `K5` | contiguous US (states 5) |
| `K6` | contiguous US (states 6) |
| `K7` | contiguous US (states 7) |
| `PA` | Alaska |
| `PH` | Hawaii |
| `TI` | US Virgin Islands / Puerto Rico area |
| `TJ` | Puerto Rico |

## Column provenance

Every field maps 1:1 to a column in the `CIFP_SID` table of `nasr.db`. Original FAA column names:

| GraphQL field | SQLite column |
|---|---|
| `recordType` | `RECORD_TYPE` |
| `customerAreaCode` | `CUSTOMER_AREA_CODE` |
| `sectionCode` | `SECTION_CODE` |
| `airportIdentifier` | `AIRPORT_IDENTIFIER` |
| `icaoCode` | `ICAO_CODE` |
| `sidStarApproachIdentifier` | `SID_STAR_APPROACH_IDENTIFIER` |
| `routeType` | `ROUTE_TYPE` |
| `transitionIdentifier` | `TRANSITION_IDENTIFIER` |
| `sequenceNumber` | `SEQUENCE_NUMBER` |
| `fixIdentifier` | `FIX_IDENTIFIER` |
| `icaoCode2` | `ICAO_CODE_2` |
| `sectionCode2` | `SECTION_CODE_2` |
| `continuationRecordNo` | `CONTINUATION_RECORD_NO` |
| `waypointDescriptionCode` | `WAYPOINT_DESCRIPTION_CODE` |
| `turnDirection` | `TURN_DIRECTION` |
| `rnp` | `RNP` |
| `pathAndTermination` | `PATH_AND_TERMINATION` |
| `turnDirectionValid` | `TURN_DIRECTION_VALID` |
| `recommendedNavaid` | `RECOMMENDED_NAVAID` |
| `icaoCode3` | `ICAO_CODE_3` |
| `arcRadius` | `ARC_RADIUS` |
| `theta` | `THETA` |
| `rho` | `RHO` |
| `magneticCourse` | `MAGNETIC_COURSE` |
| `routeHoldingDistanceOrTime` | `ROUTE_HOLDING_DISTANCE_OR_TIME` |
| `recommendedNavaid2` | `RECOMMENDED_NAVAID_2` |
| `altitudeDescription` | `ALTITUDE_DESCRIPTION` |
| `atcIndicator` | `ATC_INDICATOR` |
| `altitude` | `ALTITUDE` |
| `altitude2` | `ALTITUDE_2` |
| `transitionAltitude` | `TRANSITION_ALTITUDE` |
| `speedLimit` | `SPEED_LIMIT` |
| `verticalAngle` | `VERTICAL_ANGLE` |
| `centerFixOrTaaProcedureTurnIndicator` | `CENTER_FIX_OR_TAA_PROCEDURE_TURN_INDICATOR` |
| `multipleCodeOrTaaSectorIdentifier` | `MULTIPLE_CODE_OR_TAA_SECTOR_IDENTIFIER` |
| `icaoCode4` | `ICAO_CODE_4` |
| `sectionCode3` | `SECTION_CODE_3` |
| `gnssFmsIndication` | `GNSS_FMS_INDICATION` |
| `speedLimitDescription` | `SPEED_LIMIT_DESCRIPTION` |
| `apchRouteQualifier1` | `APCH_ROUTE_QUALIFIER_1` |
| `apchRouteQualifier2` | `APCH_ROUTE_QUALIFIER_2` |
| `fileRecordNo` | `FILE_RECORD_NO` |
| `cycleDate` | `CYCLE_DATE` |
