# CifpHeliportApproach

ARINC 424 heliport instrument approach procedure records defining the sequence of legs, fixes, and constraints for helicopter approach procedures

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

> Section code HF indicates Heliport Approach procedures. Route types follow approach procedure letter codes. Only two heliports are present in this dataset: 87N (NJ Heliport) and KJRA (Downtown Manhattan/West 30th St Heliport). Approaches are RNAV (R) and GPS (A) types.

## Example query

```graphql
# Introspect the CifpHeliportApproach 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` | Indicates whether the record is a standard record or a tailored record |  | `S`=Standard record |
| `customerAreaCode` | `CifpHeliportApproachCustomerAreaCode` | Geographic area code identifying the region of the world for the record |  | `USA`=United States of America |
| `sectionCode` | `CifpHeliportApproachSectionCode` | ARINC 424 section code identifying the type of data record; HF denotes Heliport Approach procedures |  | `HF`=Heliport Approach |
| `airportIdentifier` | `AirportIdentifier` | ICAO or FAA identifier for the heliport to which this approach procedure belongs |  | `87N`=NJ Heliport (87N); `KJRA`=Downtown Manhattan/West 30th St Heliport (KJRA) |
| `icaoCode` | `String` | ICAO region code associated with the heliport identifier, used to ensure uniqueness of the airport identifier |  |  |
| `sidStarApproachIdentifier` | `SidStarApproachIdentifier` | Identifier for the approach procedure; for heliport approaches this is the procedure name |  | `R190`=RNAV approach to runway/point heading 190 degrees; `R210`=RNAV approach to runway/point heading 210 degrees |
| `routeType` | `CifpHeliportApproachRouteType` | Identifies the type of approach route for this record |  | `A`=Approach transition (initial or intermediate segment transition); `R`=RNAV visual approach or GPS approach procedure |
| `transitionIdentifier` | `TransitionIdentifier` | Identifies the transition or segment within the approach procedure; for approach transitions identifies the initial fix or feeder fix name |  | `CCC`=Transition from CCC VOR; `FEMDU`=Transition from FEMDU waypoint; `HTO`=Transition from HTO VOR; `WUDGO`=Transition from WUDGO waypoint |
| `sequenceNumber` | `SequenceNumber` | Sequence number defining the order of legs within a given route type and transition; increments in steps of 10 |  | `010`, `020`, `021`, … (7 values) |
| `fixIdentifier` | `FixIdentifier` | Identifier of the waypoint, navaid, airport, or fix that terminates this leg of the procedure |  | `BEADS`, `CCC`, `CRANN`, … (12 values) |
| `icaoCode2` | `String` | ICAO region code associated with the fix identifier in FIX_IDENTIFIER, used to uniquely identify the fix |  |  |
| `sectionCode2` | `CifpHeliportApproachSectionCode2` | ARINC 424 section code indicating the type of record for the fix identified in FIX_IDENTIFIER |  | `D`=VHF Navaid (VOR, VORDME, VORTAC); `EA`=Enroute Waypoint; `HC`=Heliport Terminal Waypoint |
| `continuationRecordNo` | `ContinuationRecordNo` | Indicates whether this is a primary record or a continuation record providing additional data for the same leg |  | `0`=Primary record (no continuation); `1`=First continuation record; `2`=Second continuation record |
| `waypointDescriptionCode` | `WaypointDescriptionCode` | Four-character coded field describing the role and nature of the waypoint/fix in the procedure; each character position encodes a specific attribute |  | `E  A`, `E  F`, `E  I`, … (11 values) |
| `turnDirection` | `TurnDirection` | Specifies the direction of turn at this fix or for the holding pattern |  | `L`=Left turn; `R`=Right turn |
| `rnp` | `Rnp` | Required Navigation Performance value specifying the navigation accuracy required for this leg | nautical miles (scaled by 0.01) | `010`=RNP 0.10 nautical miles; `031`=RNP 0.31 nautical miles |
| `pathAndTermination` | `CifpHeliportApproachPathAndTermination` | ARINC 424 path terminator defining the type of flight path and how the leg terminates |  | `CA`=Course to Altitude; `DF`=Direct to Fix; `HF`=Hold to Fix (single circuit hold terminating at the fix); `HM`=Hold to Manual termination; `IF`=Initial Fix (start of a route segment); `TF`=Track to Fix |
| `turnDirectionValid` | `String` | Indicates whether the turn direction specified is mandatory (valid) for this leg |  |  |
| `recommendedNavaid` | `String` | Identifier of the recommended navaid to be used for navigation on this leg |  |  |
| `icaoCode3` | `String` | ICAO region code associated with the recommended navaid identifier in RECOMMENDED_NAVAID |  |  |
| `arcRadius` | `String` | Radius of a constant radius arc leg (used with RF path terminator); distance from the center fix to the arc path | nautical miles |  |
| `theta` | `String` | Magnetic bearing from the recommended navaid to the fix identified in FIX_IDENTIFIER | degrees |  |
| `rho` | `String` | Geodesic distance from the recommended navaid to the fix identified in FIX_IDENTIFIER | nautical miles |  |
| `magneticCourse` | `MagneticCourse` | Magnetic course for the leg, inbound course for holding patterns, or outbound course for procedure turns; encoded as tenths of degrees (e.g., 1900 = 190.0 degrees) | degrees magnetic (scaled by 0.1) | `1900`=190.0 degrees magnetic; `1931`=193.1 degrees magnetic; `2101`=210.1 degrees magnetic; `2360`=236.0 degrees magnetic |
| `routeHoldingDistanceOrTime` | `String` | Leg distance or holding leg time/distance; for holding patterns indicates the length of the outbound leg | nautical miles or minutes |  |
| `recommendedNavaid2` | `String` | Secondary recommended navaid identifier, used when a second navaid reference is needed for the leg |  |  |
| `altitudeDescription` | `String` | Coded field describing how the altitude constraint(s) in ALTITUDE and ALTITUDE_2 are to be applied |  | `+`, `-`, `@`, … (11 values) |
| `atcIndicator` | `String` | Indicates whether the altitude constraint is an ATC-assigned altitude rather than a published procedure altitude |  |  |
| `altitude` | `CifpHeliportApproachAltitude` | Primary altitude constraint for the leg; the specific constraint type is described by ALTITUDE_DESCRIPTION | feet MSL | `00439`, `00560`, `00780`, … (8 values) |
| `altitude2` | `String` | Secondary altitude constraint for the leg; used when a second altitude limit is required (e.g., for between-altitude constraints or glide slope crossing altitude) | feet MSL |  |
| `transitionAltitude` | `String` | Transition altitude for the airport/heliport; the altitude above which altimeter setting is expressed in flight levels | feet MSL |  |
| `speedLimit` | `SpeedLimit` | Speed limit constraint applicable at or before the termination fix of this leg | knots | `070`=70 knots; `090`=90 knots |
| `verticalAngle` | `String` | Vertical angle of descent for the final approach path or a step-down segment | degrees |  |
| `centerFixOrTaaProcedureTurnIndicator` | `CenterFixOrTaaProcedureTurnIndicator` | For RF legs, identifies the center fix of the arc; for Terminal Arrival Area (TAA) records, identifies the waypoint defining the TAA sector or procedure turn |  | `CRANN`=CRANN waypoint (center fix or TAA indicator); `JORBA`=JORBA waypoint (center fix or TAA indicator) |
| `multipleCodeOrTaaSectorIdentifier` | `String` | For approaches with multiple procedures of the same type, distinguishes among them; for TAA records, identifies the TAA sector (left base, right base, straight-in) |  |  |
| `icaoCode4` | `String` | ICAO region code associated with the center fix or TAA procedure turn indicator fix |  |  |
| `sectionCode3` | `String` | ARINC 424 section code indicating the type of record for the center fix or TAA fix identified in CENTER_FIX_OR_TAA_PROCEDURE_TURN_INDICATOR |  |  |
| `gnssFmsIndication` | `CifpHeliportApproachGnssFmsIndication` | Indicates GNSS and/or FMS applicability and the level of GNSS approach capability for this procedure leg |  | `B`=Both GNSS and FMS operations are authorized |
| `speedLimitDescription` | `String` | Coded field describing how the speed limit in SPEED_LIMIT is to be applied |  | `@`=Mandatory speed (at exactly this speed); `+`=Minimum speed (at or above); `-`=Maximum speed (at or below) |
| `apchRouteQualifier1` | `CifpHeliportApproachApchRouteQualifier1` | First approach route qualifier providing additional classification of the approach procedure type or capability |  | `J`=GLS approach; `P`=GPS/GNSS approach (PBN) |
| `apchRouteQualifier2` | `CifpHeliportApproachApchRouteQualifier2` | Second approach route qualifier further refining the approach procedure classification or category |  | `H`=Helicopter approach procedure; `S`=Simultaneous approach or special procedure |
| `fileRecordNo` | `String` | Sequential file record number assigned to this record within the CIFP data file; used for traceability and ordering |  |  |
| `cycleDate` | `CycleDate` | AIRAC cycle date indicating when this record was last updated, in YYMM format |  | `1807`=AIRAC cycle July 2018; `2009`=AIRAC cycle September 2020; `2010`=AIRAC cycle October 2020 |

## Enum values

### `sequenceNumber` (`SequenceNumber`)

| Code | Description |
|---|---|
| `010` | First leg in sequence |
| `020` | Second leg in sequence |
| `021` | Second leg alternate (continuation) |
| `030` | Third leg in sequence |
| `040` | Fourth leg in sequence |
| `050` | Fifth leg in sequence |
| `060` | Sixth leg in sequence |

### `fixIdentifier` (`FixIdentifier`)

| Code | Description |
|---|---|
| `BEADS` | BEADS waypoint |
| `CCC` | CCC VOR navaid |
| `CRANN` | CRANN waypoint |
| `ERORE` | ERORE waypoint |
| `FEMDU` | FEMDU waypoint |
| `HTO` | HTO VOR navaid |
| `JEDIL` | JEDIL waypoint |
| `JORBA` | JORBA waypoint |
| `STAYS` | STAYS waypoint |
| `TIDUE` | TIDUE waypoint |
| `WUDGO` | WUDGO waypoint |
| `ZABKI` | ZABKI waypoint |

### `waypointDescriptionCode` (`WaypointDescriptionCode`)

| Code | Description |
|---|---|
| `E  A` | Essential waypoint, airport as waypoint |
| `E  F` | Essential waypoint, off-airway flight plan waypoint |
| `E  I` | Essential waypoint, initial approach fix (IAF) |
| `E S` | Essential waypoint, step-down fix |
| `EE` | Essential waypoint, end of route segment (FAF area) |
| `EE A` | Essential waypoint, end of route segment, airport as waypoint |
| `EE B` | Essential waypoint, end of route segment, published hold |
| `EY` | Essential waypoint, flyover waypoint |
| `EY M` | Essential waypoint, flyover waypoint, missed approach point (MAP) |
| `M` | Missed approach point waypoint |
| `V` | VHF navaid as waypoint |

### `altitudeDescription` (`String`)

| Code | Description |
|---|---|
| `+` | At or above altitude |
| `-` | At or below altitude |
| `@` | At altitude (mandatory crossing altitude) |
| `B` | Between altitudes (at or above ALTITUDE_2 and at or below ALTITUDE) |
| `C` | At or above altitude in ALTITUDE_2 |
| `G` | Glide slope altitude at fix, at or above altitude in ALTITUDE_2 |
| `H` | Glide slope altitude at fix, at or above altitude in ALTITUDE_2 (FACF) |
| `I` | Intercept glide slope at ALTITUDE, at or above ALTITUDE_2 |
| `J` | Intercept glide slope at ALTITUDE, at or above ALTITUDE_2 (FACF) |
| `V` | Procedure alt for step-down fix, at or above ALTITUDE_2 |
| `X` | Procedure alt for step-down fix, at or above ALTITUDE_2 (FACF) |

### `altitude` (`CifpHeliportApproachAltitude`)

| Code | Description |
|---|---|
| `00439` | 439 feet MSL |
| `00560` | 560 feet MSL |
| `00780` | 780 feet MSL |
| `00860` | 860 feet MSL |
| `01500` | 1500 feet MSL |
| `01700` | 1700 feet MSL |
| `01800` | 1800 feet MSL |
| `02000` | 2000 feet MSL |

## Column provenance

Every field maps 1:1 to a column in the `CIFP_HELIPORT_APPROACH` 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` |
