branw / ttp-notifier

๐Ÿ“… Automated notifier for Global Entry appointment slots

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ttp-notifier

A GitHub Actions-powered notification tool for Trusted Traveler Programs' appointment scheduler.


The Trusted Traveler Programs, including Global Entry, TSA PreCheck, SENTRI, NEXUS, and FAST, are a set of offerings from the U.S. Customs and Border Protection service. Initial acceptance into these programs often requires scheduling an in-person interview at a nearby airport using an obtuse wait-listing system.

This tool, with a little setup, will notify you by e-mail whenever an appointment slot opens for your location. It leverages free GitHub Actions to automatically run a Python script at an interval, which then fails whenever an appointment is found; GitHub will then notify you of the workflow failure by email shortly after.

This tool was inspired by goes-notify, which is a much more advanced project but requires manual hosting.

Usage

This tool can be set up entirely using the GitHub website:

  1. Gather the IDs for all the locations you are interested in using the table below.
  2. Fork this repository: https://github.com/branw/ttp-notifier/fork
  3. In your fork, go to Settings > Security > Secrets and Variables > Actions and click the Variables tab: https://github.com/you/your-fork/settings/variables/actions
  4. Click the New repository variable button and enter:
    • Name: LOCATION_IDS
    • Value: Enter the location IDs from step 1, separated by commas. For example, enter 5140,6480 to check both JFK and the US Customs House in NYC.
  5. Confirm that you have enabled GitHub Actions notifications, preferably for failed workflow only (unless you don't mind the spam). The option can be found in your GitHub account settings under Notifications > System > Actions: https://github.com/settings/notifications
  6. In your fork, go to Actions > Check and Notify. Confirm that the workflow has completed a run successfully. If the workflow hasn't already ran, press the Run workflow button.
  7. Sit back and wait until you get a "Run failed" email from GitHub. When this happens, you can click View workflow run and expand the check-and-notify workflow. The appointment slots will be displayed in the output of the failed step:
Run python src/run.py
Location Washington Dulles International Global Entry EC (ID 5142) has 1 slots
* 2023-02-01T08:15 - 2023-02-01T08:30 (15 minutes)
Error: Process completed with exit code 1.
  1. When you no longer need notifications, i.e. once you've booked an appointment, you can either:
    1. Disable the workflow by going to Settings > Code and automation > Actions > General and choosing Disable actions: https://github.com/you/your-fork/settings/actions
    2. Delete your forked repository entirely

Locations Reference

Use these tables to find the IDs of your nearest CBP locations by country and state. Note that these centers all offer Global Entry appointments, but may have limited availability for other programs.

(Last generated by src/print_locations_table.py on 2023-01-27)

CA

AB

ID Name City Address
5030 Calgary Enrollment Center Calgary 2000 Airport Rd N.E.
5032 Edmonton Enrollment Center Edmonton 1000 Airport Road

BC

ID Name City Address
5026 Vancouver Enrollment Center Richmond 3211 Grant McConachie Way
5041 Vancouver Urban Enrollment Center VANCOUVER 1611 Main Street

MB

ID Name City Address
5029 Winnipeg Enrollment Center Winnipeg 1970 Winnipeg NEXUS Office

NS

ID Name City Address
5031 Halifax Enrollment Center Goffs U.S. Customs and Border Protection

ON

ID Name City Address
5025 Ottawa International Airport Ottawa 140 Thad Johnson Private
5027 Toronto Enrollment Center Mississauga 6301 Silver Dart Drive
5520 Lansdowne, ON Lansdowne 860 Highway 137

QC

ID Name City Address
5028 Montreal Enrollment Center Montreal 1 Pierre E Trudeau International Airport

QA

ID Name City Address
6920 Doha International Airport Doha Hamad International Airport

SG

ID Name City Address
9040 Singapore (Singapore, U.S. Embassy) Singapore U.S. Embassy

US

AK

ID Name City Address
7540 Anchorage Enrollment Center Anchorage Ted Stevens International Airport
14381 Fairbanks Enrollment Center Fairbanks 6450 Airport Way - Suite 13

AL

ID Name City Address
16277 Huntsville Global Entry Enrollment Center Huntsville Huntsville International Airport
16282 Mobile Regional Airport Enrollment Center Mobile 8400 Airport Blvd

AZ

ID Name City Address
5007 Nogales, AZ NOGALES 200 N. MARIPOSA RD STE. B700
5460 San Luis Enrollment Center San Luis SLU II Global Enrollment Center
7160 Phoenix Sky Harbor Global Entry Enrollment Center Phoenix CBP-Global Enrollment Center
8100 Douglas Enrollment Center Douglas 1 Pan American Ave
9240 Tucson Enrollment Center Tucson 7081 S. Plumer Ave.

CA

ID Name City Address
5002 Otay Mesa Enrollment Center San Diego 9725 Via De La Amistad
5006 Calexico Enrollment Center Calexico 1699 East Carr Road
5180 Los Angeles International Global Entry EC LOS ANGELES 11099 S LA CIENEGA BLVD
5446 San Francisco Global Entry Enrollment Center San Francisco International Arrival Level
8920 Los Angeles -Long Beach Seaport Long Beach Permanently Closed
16547 San Diego International Airport EC San Diego 3835 North Harbor Dr

CO

ID Name City Address
6940 Denver International Airport Denver 8400 Denver International Airport

CT

ID Name City Address
14681 Bradley International Airport Enrollment Center Windsor Locks International Arrivals Building/ Terminal B

DC

ID Name City Address
8120 Washington, DC Enrollment Center Washington 1300 Pennsylvania Avenue NW

FL

ID Name City Address
5181 Miami International Airport Miami 21 Miad Circle
5380 Orlando International Airport Orlando 1 Jeff Fuqua Blvd
5443 Fort Lauderdale Global Entry Enrollment Center Ft Lauderdale 1800 Eller Drive
5447 Sanford Global Entry Enrollment Center Sanford 1100 Red Cleveland Blvd
8020 Tampa Enrollment Center Tampa Tampa International Airport
9260 West Palm Beach Enrollment Center Riviera Beach West Palm Beach Enrollment Center
16248 Treasure Coast International Airport Fort Pierce 2990 Curtis King Blvd
16515 Fort Lauderdale International Airport Terminal Fort Lauderdale 50 Terminal Drive

GA

ID Name City Address
5182 Atlanta International Global Entry EC Atlanta 2600 Maynard H. Jackson Jr. Int'l Terminal

GU

ID Name City Address
9140 Guam International Airport Tamuning 355 Chalan PasaHeru

HI

ID Name City Address
5340 Honolulu Enrollment Center Honolulu 300 Rodgers Blvd

IA

ID Name City Address
16461 Des Moines GE Enrollment Center Des Moines 6100 Fleur Drive

ID

ID Name City Address
12161 Boise Enrollment Center Boise 4655 S Enterprise Street

IL

ID Name City Address
5183 Chicago O'Hare International Global Entry EC CHICAGO 10000 West O'Hare Drive
11000 Moline Quad Cities International Airport Moline 3300 69th Ave
11001 Rockford-Chicago International Airport Rockford 50 Airport Drive
11002 Peoria international airport Peoria 6100 W. Everett M. Dirksen Parkway
11981 Chicago Field Office Enrollment Center CHICAGO 610 S. CANAL STREET

IN

ID Name City Address
16278 South Bend Enrollment Center South Bend South Bend International Airport

KY

ID Name City Address
7680 Cincinnati Enrollment Center Erlanger 4243 Olympic Blvd. Suite. 210

LA

ID Name City Address
9740 New Orleans Enrollment Center Kenner 1 Terminal Drive

MA

ID Name City Address
5441 Boston-Logan Global Entry Enrollment Center East Boston Logan International Airport, Terminal E

MD

ID Name City Address
7940 Baltimore Washington Thurgood Marshall Airport Linthicum Baltimore Washington Thurgood Marshall I

ME

ID Name City Address
5101 Houlton POE/Woodstock Houlton 27 Customs Loop
5500 Calais Enrollment Center Calais 3 Customs Street

MI

ID Name City Address
5023 Detroit Enrollment Center Global Entry Detroit 2810 W. Fort Street Suite 124
5024 Port Huron Enrollment Center Port Huron 2321 Pine Grove Avenue
5080 Sault Ste Marie Enrollment Center Sault Ste. Marie 900 International Bridge Plaza
5320 Detroit Metro Airport Detroit Detroit Evans Terminal

MN

ID Name City Address
5060 Warroad Enrollment Center Warroad 41059 Warroad Enrollment Center
6840 Minneapolis - St. Paul Global Entry EC St. Paul 4300 Glumack Drive
9101 Grand Portage Grand Portage 9403 E Highway 61
14181 International Falls Global Entry Enrollment Center International Falls 3214 2nd Ave E

MO

ID Name City Address
12021 St. Louis Enrollment Center ST. LOUIS 4349 WOODSON RD #201
12781 Kansas City Enrollment Center Kansas City 90 Beirut Circle
16463 Springfield โ€“ Branson National Airport, MO Springfield 2300 N Airport Blvd

MS

ID Name City Address
14481 Gulfport-Biloxi Global Entry Enrollment Center Gulfport Gulfport-Biloxi International Airport

MT

ID Name City Address
5120 Sweetgrass NEXUS and FAST Enrollment Center Sweetgrass Nexus Enrollment Center
16251 Sweetgrass Global Entry Enrollment Center Sweetgrass Nexus Enrollment Center
16475 SEAFO - Bozeman Airport Belgrade 550 Wings Way
16485 SEAFO - Billings-Logan Airport GE Mobile Event Billings 1901 Terminal Circle
16488 SEAFO - Missoula International Airport Missoula 5225 U.S. HIGWAY 10W

NC

ID Name City Address
14321 Charlotte-Douglas International Airport Charlotte Charlotte-Douglas International Airport

ND

ID Name City Address
15221 Pembina Global Entry Enrollment Center Pembina 10980 Interstate 29 N
16280 Grand Forks, ND enrollment Center Grand Forks 2725 Airport Drive
16476 SEAFO - FARGO Global Entry Workshop Fargo 3803 20th Street N.
16482 Grand Forks, ND Enrollment Event Grand Forks 2725 Airport Drive

NE

ID Name City Address
16467 Omaha, NE Enrollment Center Omaha 3737A Orville Plaza

NJ

ID Name City Address
5444 Newark Liberty Intl Airport Newark Newark Liberty International Airport

NM

ID Name City Address
8040 Albuquerque Enrollment Center Albuquerque Albuquerque International Sunport

NV

ID Name City Address
5360 Las Vegas Enrollment Center Las Vegas 5757 Wayne Newton Blvd Terminal 3

NY

ID Name City Address
5021 Champlain Enrollment Center Champlain 237 West Service Road
5140 JFK International Global Entry EC Jamaica JFK International Airport
5161 Niagara Falls Enrollment Center Niagara Falls 2250 Whirlpool St
6480 U.s. Custom House - Bowling Green NEW YORK 1 BOWLING GREEN
16519 Champlain GE Only Champlain 237 West Service Road
16520 Niagara Falls GE Only Niagara Falls 2250 Whirlpool St

OH

ID Name City Address
9180 Cleveland U.S. Customs and border protection Middleburg Heights Customs & Border Protection
11841 Port Clinton, Ohio Enrollment Center Port Clinton 709 S.E. Catawba Road
16242 Dayton Enrollment Center Vandalia 3800 Wright Drive

OR

ID Name City Address
7960 Portland, OR Enrollment Center Portland 8337 NE Alderwood Rd

PA

ID Name City Address
5445 Philadelphia International Airport PHILADELPHIA PHILADELPHIA INTL AIRPORT
9200 Pittsburgh International Airport Pittsburgh 1000 Airport Boulevard

PR

ID Name City Address
5400 San Juan Global Entry Enrollment Center Carolina Luis Muรฑoz Marin International Airport (SJU)

RI

ID Name City Address
9300 Warwick, RI Enrollment Center Warwick Warwick, RI Enrollment Center

TN

ID Name City Address
10260 Nashville Enrollment Center Nashville 612 Hangar Lane
13621 Memphis Intl Airport Global Enrollment Center Memphis 2491 Winchester Suite 230
16271 Tri-cities Enrollment Center Blountville Tri-Cities Airport

TX

ID Name City Address
5001 Hidalgo Enrollment Center Mission Anzalduas International Bridge
5003 Brownsville Enrollment Center Brownsville 700 Amelia Earhart Dr, Brownsville, Texas
5004 Laredo Enrollment Center Laredo 400 San Edwardo
5005 El Paso Enrollment Center El Paso 797 S. Zaragoza Rd. Bldg. A
5141 Houston Intercontinental Global Entry EC Houston 3870 North Terminal Road
5300 Dallas-Fort Worth International Airport Global Entry DFW Airport DFW International Airport - Terminal D
7480 Houston Hobby Airport Enrollment Center Houston Sterile Corridor requires Boarding Pass
7520 San Antonio International Airport San Antonio 9800 Airport Boulevard, Suite 1101
7820 Austin-Bergstrom International Airport Austin 3600 Presidential Blvd.
16226 Eagle Pass Eagle Pass 160 E. Garrison St.
16460 Del Rio Enrollment Center Del Rio 3140 Spur 239

UT

ID Name City Address
7600 Salt Lake City International Airport Salt Lake City 3920 West Terminal Dr. #TCBP-1-060.2

VA

ID Name City Address
5142 Washington Dulles International Global Entry EC Sterling 22685 International Arrivals- Main Terminal
14981 Richmond, VA Enrollment Center Richmond 5707 Huntsman Road, Suite 104

VT

ID Name City Address
5223 Derby Line Enrollment Center Derby Line 107 I-91 South

WA

ID Name City Address
5420 Seatac International Airport Global Entry EC SeaTac 17801 International Blvd, SeaTac, WA 98158
13321 Blaine Global Entry Enrollment Center Blaine 8115 Birch Bay Square St.

WI

ID Name City Address
7740 Milwaukee Enrollment Center Milwaukee 4915 S Howell Avenue, 2nd Floor

License

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to https://unlicense.org

About

๐Ÿ“… Automated notifier for Global Entry appointment slots


Languages

Language:Python 100.0%