← Back to Viewer

Overview

The Pairing Viewer gives pilots access to every pairing in a published bid period. Apply filters to narrow results, use the Smart Filter for natural-language searches, and review full leg-by-leg detail — block times, credit, layovers, and WOCL exposure — all in your browser or installed as an app on your phone.

File TypeWhat It ContainsExtra Features
Preliminary Bid FileCTF pairings released before final biddingARC Table, Charts PDF (sys admin only)
Company Bid FileFinal published pairings for a bid month

Getting Started

Signing In

Opening the Pairing Viewer without an active session redirects you to the sign-in page. Sign-in is two steps and is handled by a secure authentication service — your credentials are never sent directly to the viewer.

Sign-In — Two-Step Flow
ℹ️
Your session stays active across browser restarts. If you return and are already signed in, you go directly to the viewer. Use Logout in the menu to end your session.
💡
Forgot your password? Click Forgot password? on Step 2 — a reset link will be emailed to you.

Installing the App (iOS)

On iPhone and iPad, the Pairing Viewer can be installed to your home screen for a full-screen experience without browser chrome.

🌐
1
Open in Safari
📤
2
Tap the Share button
3
Tap "Add to Home Screen"
4
Launch from home screen — no browser UI
💡
A banner will appear automatically in Safari with a "How to Install" button if the app detects it is not yet installed on your device.
ℹ️
After installing and loading a file at least once, the app works fully offline — all filters, pairing data, and the display work without a connection.

Interface Tour

The navy header is always visible. It shows the current bid period name, the file selector, and the hamburger menu.

Header Bar
Mar 2026 Bid Period
① Bid period name ② File selector — switch between bid files ③ Hamburger menu — theme, ARC, Charts, logout

Tap to open the menu. ARC Table and Charts only appear when a Preliminary file is loaded, and ARC Table is only visible to system administrators.

Menu (Preliminary file loaded, sys admin)
📊 Dashboard
📈 ARC Table
📄 Charts
❓ Help
🌙 Dark Mode
jsmith
▶ Logout

📊 Dashboard — Opens the scheduling dashboard in a new tab.

📈 ARC Table — Daily crew requirements. Preliminary files only; sys admins only.

📄 Charts — Opens the preliminary report PDF. Preliminary files only.

❓ Help — Opens this guide.

🌙 / ☀️ Dark/Light Mode — Toggles the color theme. Preference is saved.

Logout — Ends your session and clears cached data.

Filter Panel

The filter panel behavior depends on your screen size:

Screen SizeFilter Panel Behavior
Phone (mobile)Tap the ▲ Filters tab at the bottom of the screen to slide the panel up. Tap the backdrop or ✕ to close it.
Tablet / DesktopAlways visible as a left sidebar. Starts collapsed (40 px strip). Click the arrow to expand; click it again to collapse.
Mobile — "▲ Filters" bottom tab (tap to open)
▲ Filters 2

The red badge shows the number of active filters.

Tablet/Desktop — Collapsed (40 px strip) vs. Expanded sidebar
Collapsed
2 FILTERS
Results
Expanded
Filters 2
SEA ANC PDX
Results

Each section in the panel can be expanded or collapsed by clicking its label. A blue dot appears on any section that has an active filter. Click Clear Filters at the bottom to reset all filters at once.

ℹ️
Filters are applied instantly — results update as you type. Your filter settings are automatically saved and restored the next time you open the app.

Results Panel

The results panel shows all pairings matching your current filters, in published file order. The count at the top updates instantly. On mobile, the results fill the screen when the filter panel is closed.

Pairing Cards

Each pairing is displayed as a card.

Sample Pairing Card
SEA #45882 3d Rpt 05:30  ·  Rel 21:15
DayDHFltDepArrBlkGnd
1234SEA 05:30ANC 08:453:15
1788ANC 12:00PDX 16:302:30
✦ PDX  ·  12:30 rest
2101PDX 04:15SEA 05:000:45
2DH502SEA 10:00LAX 13:102:10
SectionWhat You See
HeaderBase · Pairing # · Length · Instance count (×) · Report & Release times
Leg rowsDay · DH flag · Flight number · Station & local departure time · Arrival · Block · Ground
Layover row (blue)Overnight station and rest duration
FooterTotal Credit · Total Block · TAFB
CalendarMonthly grid of every date the pairing operates (on phone screens, swipe left on the card to reveal it)

Color Coding

HighlightMeaning
Red rowWOCL leg — departs during the 02:00–05:59 base-local redeye window
✦ Blue rowLayover — shows overnight station and rest time
DHDeadhead leg — you are a passenger, not the flying crew
ℹ️
The instance count (e.g., ) shows how many times this exact pairing repeats during the bid period.

Smart Filter

The Smart Filter lets you describe what you are looking for in plain English. It translates your request into filter settings and can find pairings that match complex patterns the manual filters alone cannot express.

Open it by tapping the wand button in the bottom-right corner of the screen. It is only available when you are online.

Smart Filter button (bottom-right)
Smart Filter Panel
Smart Filter
4-day trips with a layover in HNL
Got it — I've set the length to 4 days and added HNL as a required layover station. 12 pairings match.

How It Works

When you send a message, it reads your request along with the currently active filters and the bid period dates. It then:

The conversation is multi-turn — you can follow up ("now remove the redeye ones") and the Smart Filter remembers your previous requests within the same session.

Example Queries

What You TypeWhat Happens
"4-day trips with a layover in HNL"Sets length to 4 days, adds HNL as a layover station
"Early morning SEA trips with no redeye"Sets base to SEA, report < a morning threshold, redeye to 0
"Show me trips with a redeye leg followed by a short layover"Runs sequence analysis, highlights only the matching pairings
"What are the top 5 highest-credit 3-day trips?"Ranks pairings by credit and shows a list; filters to those 5
"Now show me only the ones that report after 06:00"Adds a report-time filter on top of the previous result
"Clear everything"Resets all filters back to defaults

Limitations

⚠️
Always review the filters after using the Smart Filter. It interprets your words and sets filters based on its best guess — it may set stricter or looser values than intended. The filter panel shows exactly what was applied.

Filters In Depth

All filters use AND logic — a pairing must satisfy every active filter to appear. Settings are saved automatically and restored on your next visit.

Base

Tap one or more base chips to show only pairings originating from those bases. Multiple bases are allowed — select all that apply.

Base Filter — SEA and PDX selected
ANC LAX PDX SEA SFO SNA
ℹ️
The base list is built from whichever bases are present in the loaded file — it is not a hardcoded list and will vary between CTF and bid files.

Trip #

Enter a pairing number to jump directly to a specific trip. Accepts partial matches — typing 882 will match trip 45882369.

Pairing Date

Use Start Date and End Date to restrict results to pairings that report (check in on Day 1) on or between those dates.

💡
The start date defaults to the day after the bid period opens, hiding carry-over pairings from the previous month. Move it back to see those pairings too.

Active On

The Active on date picker shows pairings that have any leg operating on that specific date — useful for checking coverage on a particular day regardless of when the pairing starts.

ℹ️
Active On differs from Pairing Date: a 4-day pairing that starts March 5 would be included for March 5, 6, 7, and 8. Pairing Date would only include it if the start date is March 5.

Pairing Length

Select a day count from the dropdown to show pairings of exactly that length. Choose Any to remove the restriction.

No. of Legs

Filter by total flight legs in a pairing using a comparison operator.

You TypeMatches Pairings With…
4 or =4Exactly 4 legs
>4More than 4 legs
<=66 legs or fewer
!=2Any number except 2

Station

Finds pairings touching an airport on any leg. Supports single stations, routing sequences, and exclusions. Separate multiple entries with commas.

You TypeMatches Pairings That…
ANCTouch ANC on any leg
ANC, ORDTouch ANC or ORD on any leg
SEA-PDXHave a direct SEA → PDX leg (non-stop)
NOT LAXNever touch LAX
NOT LAX, ORDNever touch LAX or ORD
ℹ️
NOT applies to all entries. You cannot mix positive and negative station entries — ANC, NOT LAX is not supported; use separate filter passes instead.

Flight Number

Find pairings by flight number. Separate multiple entries with commas; use a hyphen for ranges.

You TypeMatches Pairings That…
1234Include flight 1234
1234, 5678Include flight 1234 or 5678
7000-7010Include any flight from 7000 to 7010
NOT 7000-7099Do not include any flight 7000–7099
💡
Flight numbers are zero-padded automatically — 800 and 0800 match the same flight.

Reporting Times

Report time — when the pairing checks in on Day 1. Release time — when it ends. Both use 4-digit 24-hour format.

You TypeMeaning
<0600Reports before 06:00
>=0500Reports at 05:00 or later
>=0500<0700Reports between 05:00 and 06:59 (chain two conditions)
<=1800Releases at or before 18:00

Credit & Block

Filter by Total Block, Total Credit, Total Deadhead, or Rig time. Use HH.MM or HH:MM format — the digits after the separator are minutes, not decimal fractions.

You TypeMeaning
>4.30More than 4 hours 30 minutes
>=14:0014 hours or more (colon also works)
<=8.008 hours or less
⚠️
4.30 means 4 hours 30 minutes, NOT 4 hours 18 minutes. The format is hours.minutes, not decimal hours.

Redeye

Filter by the number of WOCL legs in a pairing. A WOCL leg is any leg whose duty period overlaps the 02:00–05:59 base-local window (shown as a red row in the pairing card).

You TypeMatches Pairings With…
0No WOCL legs
1 or =1Exactly 1 WOCL leg
>=22 or more WOCL legs
!=0At least one WOCL leg

Layovers

Checks overnight layover stations (not same-day turns). Optionally add a duration condition. Separate multiple entries with commas.

You TypeMatches Pairings That…
AUSHave any overnight in Austin
AUS, DENHave an overnight in Austin or Denver
AUS >12Have an AUS layover longer than 12 hours
AUS >12, DEN <10AUS overnight >12 h, or DEN overnight <10 h
NOT ORDHave no overnight in Chicago O'Hare
NOT AUS >12No AUS layover exceeding 12 hours
ℹ️
Duration values are in hours. Decimals work — AUS >1.5 means more than 1 hour 30 minutes. NOT applies to all entries in the field.

ARC Table

The ARC Table shows daily pilot crew requirements per base for every day of the bid period. It is only available when a Preliminary Bid File is loaded and you have system administrator access. Open it from Menu → ARC Table.

ARC Table
📈 Daily Crew Requirements (ARC)
DateANCSEASFOLAXPDX
2026-03-01124522188
2026-03-02114720199
… continues for each day of the bid period

Click Download CSV to save the table as a spreadsheet-compatible file.

Charts PDF

The Charts option opens the preliminary report PDF for the loaded file. It is only available with a Preliminary Bid File loaded. Open it from Menu → Charts.

The PDF contains per-base block hour charts and pairing statistics generated when the preliminary file was first processed. From the viewer you can open the PDF in a new tab or download it.

Offline Mode

The Pairing Viewer works without internet access as long as you have loaded a file at least once while connected. When connectivity is lost, an ⚡ Offline badge appears in the header.

SituationWhat Happens
App opened with no networkLoads the last-used file automatically; all filters work normally
File selectorDisabled — you cannot switch files while offline
Smart FilterButton is hidden — not available offline
Network returnsDetected automatically; badge disappears and selector re-enables
After logoutCached file is removed from device storage
💡
For reliable offline use, open the app and load your target file while connected before you need it. The file stays on your device indefinitely until you log out.

Dashboard

The Dashboard provides trend analysis across recent bid months: block hours, WOCL exposure, commutability, trip length distribution, and more. Open it from Menu → Dashboard (opens in a new tab) or navigate directly to /dashboard/.

Dashboard — Three Tabs
📊 AS MEC Scheduling Dashboard
Base Overview
System Stats
ARC
14.2% WOCL (CBA)
62% Commutable In
247 Pairings
3-day Most Common
TabWhat's Shown
Base OverviewBlock hours trend chart + a card per base showing trip length, WOCL %, commutability, and top layovers vs. prior months
System StatsSystem-wide volume table + stacked bar charts for trip length, WOCL, and commutability across all bases
ARCDaily crew requirements table, sourced from the most recent preliminary data; downloadable as CSV

Clicking a bar in any chart opens a Pairing Modal that lists the individual trips behind that data point — with full duty and leg detail.

ℹ️
The Dashboard uses the most recent 12 months of bid data. It updates automatically when a new CTF file is uploaded.

Admin Admin Panel

The Admin Panel is accessible to users with the admin role. Navigate to it via the Dashboard (/dashboard/admin/).

File Upload

Drag and drop — or click to browse — one or more CTF or TXT files to upload them into the system.

A progress card tracks each file through its pipeline steps. It auto-dismisses 5 seconds after all jobs complete.

Users

The Users page shows everyone who has accessed the system. You can set each user's role:

RoleWhat They Can Access
adminEverything — file upload, user management, config, logs
sys adminAll files plus the ARC Table in the portal
viewerAll CTF and TXT files in the portal
TXT OnlyCompany bid files only (no CTF/preliminary files)
ℹ️
Identity information (name, email) is managed by Clerk and synced automatically via webhook. Only the role is set here.

Config (Rules)

The Rules page provides a YAML editor for config.yaml — the system configuration file that controls WOCL windows, layover thresholds, commutability rules, and special-report parameters.

⚠️
Incorrectly formatted YAML will be rejected. Use a YAML validator if you are unsure about syntax before saving.

Logs

The Logs page has three tabs:

TabContents
InfoGeneral application events, API activity
ErrorsExceptions and pipeline failures
ParsingCTF/TXT file import details and warnings

Each tab has a file selector if multiple log files are present (logs rotate over time). Logs are read-only.

Tips & Tricks

Find all early-morning turns

Set Report Time to <0500 and Pairing Length to 1 day.

Find high-credit 3-day pairings

Set Pairing Length to 3 days and Total Credit to >=14:00. Or just ask the Smart Filter: "3-day trips with at least 14 hours of credit."

Find pairings that fly a specific route

Use the Station filter with a routing sequence — for example, SEA-ANC shows all pairings with a direct Seattle–Anchorage leg.

Check who operates on a specific date

Use the Active On date picker to see every pairing that has a leg operating on that date, regardless of when the trip starts.

Find redeye-free pairings

Set Redeye to 0. Only pairings with no WOCL legs will appear.

Check commutability

Combine Report Time (e.g., >=0700) and Release Time (e.g., <=2100) to narrow results to commuter-friendly windows.

Exclude a layover city

Use NOT ORD in the Layovers filter to see only pairings with no overnight in Chicago.

Use the Smart Filter for complex patterns

Filters like "a redeye leg followed by a short layover" are impossible in the manual filters but work naturally with the Smart Filter: type it in plain English and it will run the sequence analysis for you.

Your filters are always saved

Filter settings persist across sessions — even after restarting your device. Press Clear Filters (or ask the Smart Filter to "clear everything") to start fresh.

Dark mode

Tap Menu → Dark Mode to switch to a dark color scheme — useful in low-light conditions. Your preference is saved per device.

Mar 2026 Bid Period
2
SEA #45882 3d · 4×

Dark mode — toggle via Menu → Dark Mode

📘
Questions or issues? Contact your MEC rep or the system administrator.
AS MEC Pairing Viewer  ·  User Guide  ·  Internal Use Only