# HpfBase

Base holding pattern data including fix/navaid association, direction, course, and leg length

**Source:** NASR table `HPF_BASE` · version `e25086c3e952` · effective 2026-04-16

> Ordered by HP_NAME, HP_NO. The combination of HP_NAME and HP_NO forms the unique record key.

## Example query

```graphql
# Introspect the HpfBase type in GraphiQL at https://api.nav.sortie.co/graphql
# Example shape (pair with a compatible root query field):
{
  # ...rootQuery... {
    effDate
    hpName
    hpNo
    stateCode
  # }
}
```

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

## Fields

| Field | Type | Description | Units | Enum |
|---|---|---|---|---|
| `effDate` | `String` | The 28 Day NASR Subscription Effective Date in format YYYY/MM/DD |  |  |
| `hpName` | `String` | Holding Pattern Identifier formatted as NAVAID_NAME FACILITY_TYPE*STATE_CODE or FIX_NAME FIX_TYPE*STATE_CODE*ICAO_REGION_CODE |  |  |
| `hpNo` | `HpNo` | Pattern Number to Uniquely Identify Holding Pattern |  | `1`, `2`, `3`, … (10 values) |
| `stateCode` | `FixBaseStateCode` | Associated State Post Office Code, standard two letter abbreviation for US States and Territories |  | `AK`, `AL`, `AR`, … (61 values) |
| `countryCode` | `HpfBaseCountryCode` | Country Post Office Code |  | `AS`, `BS`, `CA`, … (8 values) |
| `fixId` | `String` | Fix with which the Holding Pattern is Associated |  |  |
| `icaoRegionCode` | `HpfBaseIcaoRegionCode` | ICAO Region Code of the Fix with which the Holding is Associated |  | `CY`, `K`, `K1`, … (17 values) |
| `navId` | `String` | Identifier of the NAVAID with which the Holding Pattern is Associated |  |  |
| `navType` | `HpfBaseNavType` | Facility Type of the NAVAID with which the Holding Pattern is Associated |  | `DD`, `DME`, `LA`, … (15 values) |
| `holdDirection` | `HoldDirection` | Compass direction of holding pattern relative to the NAVAID or Fix |  | `E`, `N`, `NE`, … (8 values) |
| `holdDegOrCrs` | `String` | Magnetic Bearing, Radial (Degrees) or Course Direction of Holding | degrees |  |
| `azimuth` | `Azimuth` | Indicates whether the azimuth value shown is a Radial, Course, Bearing, or RNAV Track |  | `BRG`=Bearing; `CRS`=Course; `RAD`=Radial; `RNAV`=RNAV Track |
| `courseInboundDeg` | `Int` | Inbound Course in degrees magnetic | degrees |  |
| `turnDirection` | `TurnDirection` | Turning Direction for the holding pattern |  | `L`=Left turns; `R`=Right turns |
| `legLengthDist` | `LegLengthDist` | Leg Length Outbound DME distance in nautical miles | nautical miles | `1`, `2`, `3`, … (20 values) |

## Enum values

### `hpNo` (`HpNo`)

| Code | Description |
|---|---|
| `1` | Pattern 1 |
| `2` | Pattern 2 |
| `3` | Pattern 3 |
| `4` | Pattern 4 |
| `5` | Pattern 5 |
| `6` | Pattern 6 |
| `7` | Pattern 7 |
| `8` | Pattern 8 |
| `9` | Pattern 9 |
| `10` | Pattern 10 |

### `stateCode` (`FixBaseStateCode`)

| Code | Description |
|---|---|
| `AK` | Alaska |
| `AL` | Alabama |
| `AR` | Arkansas |
| `AS` | American Samoa |
| `AZ` | Arizona |
| `CA` | California |
| `CO` | Colorado |
| `CT` | Connecticut |
| `DC` | District of Columbia |
| `DE` | Delaware |
| `FL` | Florida |
| `GA` | Georgia |
| `GU` | Guam |
| `HI` | Hawaii |
| `IA` | Iowa |
| `ID` | Idaho |
| `IL` | Illinois |
| `IN` | Indiana |
| `KS` | Kansas |
| `KY` | Kentucky |
| `LA` | Louisiana |
| `MA` | Massachusetts |
| `MD` | Maryland |
| `ME` | Maine |
| `MI` | Michigan |
| `MN` | Minnesota |
| `MO` | Missouri |
| `MP` | Northern Mariana Islands |
| `MS` | Mississippi |
| `MT` | Montana |
| `NC` | North Carolina |
| `ND` | North Dakota |
| `NE` | Nebraska |
| `NH` | New Hampshire |
| `NJ` | New Jersey |
| `NM` | New Mexico |
| `NV` | Nevada |
| `NY` | New York |
| `OA` | Pacific Ocean Area |
| `OG` | Gulf of Mexico Area |
| `OH` | Ohio |
| `OK` | Oklahoma |
| `OP` | Pacific Ocean Area |
| `OR` | Oregon |
| `PA` | Pennsylvania |
| `PR` | Puerto Rico |
| `QM` | Atlantic Ocean Area |
| `QW` | Atlantic Ocean Area West |
| `RI` | Rhode Island |
| `SC` | South Carolina |
| `SD` | South Dakota |
| `TN` | Tennessee |
| `TX` | Texas |
| `UT` | Utah |
| `VA` | Virginia |
| `VI` | Virgin Islands |
| `VT` | Vermont |
| `WA` | Washington |
| `WI` | Wisconsin |
| `WV` | West Virginia |
| `WY` | Wyoming |

### `countryCode` (`HpfBaseCountryCode`)

| Code | Description |
|---|---|
| `AS` | American Samoa |
| `BS` | Bahamas |
| `CA` | Canada |
| `FM` | Federated States of Micronesia |
| `MH` | Marshall Islands |
| `MP` | Northern Mariana Islands |
| `PW` | Palau |
| `US` | United States |

### `icaoRegionCode` (`HpfBaseIcaoRegionCode`)

| Code | Description |
|---|---|
| `CY` | Canada |
| `K` | Contiguous United States |
| `K1` | Contiguous United States Region 1 |
| `K2` | Contiguous United States Region 2 |
| `K3` | Contiguous United States Region 3 |
| `K4` | Contiguous United States Region 4 |
| `K5` | Contiguous United States Region 5 |
| `K6` | Contiguous United States Region 6 |
| `K7` | Contiguous United States Region 7 |
| `MY` | Bahamas |
| `NZ` | New Zealand |
| `P` | Pacific |
| `PA` | Alaska |
| `PG` | Guam/Mariana Islands |
| `PH` | Hawaii |
| `TI` | US Virgin Islands |
| `TJ` | Puerto Rico |

### `navType` (`HpfBaseNavType`)

| Code | Description |
|---|---|
| `DD` | Unnamed |
| `DME` | Distance Measuring Equipment |
| `LA` | ILS/DME or MLS/DME |
| `LC` | Localizer only, no glide slope |
| `LD` | ILS with DME |
| `LE` | ILS/DME |
| `LG` | Localizer glide slope |
| `LO` | Localizer |
| `LS` | ILS (Instrument Landing System) |
| `NDB` | Non-Directional Beacon |
| `NDB/DME` | Non-Directional Beacon with Distance Measuring Equipment |
| `TACAN` | Tactical Air Navigation |
| `VOR` | VHF Omnidirectional Range |
| `VOR/DME` | VHF Omnidirectional Range with Distance Measuring Equipment |
| `VORTAC` | VOR and TACAN collocated |

### `holdDirection` (`HoldDirection`)

| Code | Description |
|---|---|
| `E` | East |
| `N` | North |
| `NE` | Northeast |
| `NW` | Northwest |
| `S` | South |
| `SE` | Southeast |
| `SW` | Southwest |
| `W` | West |

### `legLengthDist` (`LegLengthDist`)

| Code | Description |
|---|---|
| `1` | 1 nautical mile |
| `2` | 2 nautical miles |
| `3` | 3 nautical miles |
| `4` | 4 nautical miles |
| `5` | 5 nautical miles |
| `6` | 6 nautical miles |
| `7` | 7 nautical miles |
| `8` | 8 nautical miles |
| `9` | 9 nautical miles |
| `10` | 10 nautical miles |
| `11` | 11 nautical miles |
| `12` | 12 nautical miles |
| `13` | 13 nautical miles |
| `14` | 14 nautical miles |
| `15` | 15 nautical miles |
| `16` | 16 nautical miles |
| `17` | 17 nautical miles |
| `18` | 18 nautical miles |
| `20` | 20 nautical miles |
| `25` | 25 nautical miles |

## Column provenance

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

| GraphQL field | SQLite column |
|---|---|
| `effDate` | `EFF_DATE` |
| `hpName` | `HP_NAME` |
| `hpNo` | `HP_NO` |
| `stateCode` | `STATE_CODE` |
| `countryCode` | `COUNTRY_CODE` |
| `fixId` | `FIX_ID` |
| `icaoRegionCode` | `ICAO_REGION_CODE` |
| `navId` | `NAV_ID` |
| `navType` | `NAV_TYPE` |
| `holdDirection` | `HOLD_DIRECTION` |
| `holdDegOrCrs` | `HOLD_DEG_OR_CRS` |
| `azimuth` | `AZIMUTH` |
| `courseInboundDeg` | `COURSE_INBOUND_DEG` |
| `turnDirection` | `TURN_DIRECTION` |
| `legLengthDist` | `LEG_LENGTH_DIST` |
