A hosted version of this tool is available at www.goglobalentry.com if you prefer not to set up the script yourself.
You can run this script locally to automatically fetch new appointment dates/times for the configured location(s) from the Trusted Traveler Program API. This works for Global Entry, NEXUS, SENTRI, or FAST appointments, provided the enrollment center you select offers the service.
- First download the script to your machine and enter into the resulting directory:
git clone https://github.com/everettsouthwick/trusted-traveler-scheduler.git
cd trusted-traveler-scheduler- Then install the required packages to run the script:
pip install -r requirements.txtTo use the script, run the following command:
python ttp.py [-d CURRENT_APPOINTMENT_DATE] [-l LOCATION_IDS] [-n NOTIFICATION_LEVEL]
[-u NOTIFICATION_URLS] [-r RETRIEVAL_INTERVAL] [-s START_APPOINTMENT_TIME]
[-e END_APPOINTMENT_TIME]All of the arguments are optional, and will take precedence over the values supplied in config.json, with the exception of location_ids and notification_urls which will merge the values into a single list.
For example, the following command would retrieve appointments before December 31, 2023 for locations 5004 and 5140 and send notifications to the two Discord URLs every 5 minutes if the appointment time is between 8:00 AM and 8:00 PM:
python ttp.py -d "December 31, 2023" -l 5004,5140 -n 1
-u discord://id/token,discord://id/token -r 5m -s 08:00
-e 20:00For complete documentation, you can use the following command:
python ttp.py -hThe script can be configured to run in Docker. You can pull the latest container image from the Docker repository by running the following command:
docker pull ecsouthwick/trusted-traveler-schedulerTo pull the develop branch from the Docker repository, add the :develop tag to the above command:
docker pull ecsouthwick/trusted-traveler-scheduler:developOnce you have pulled the image from docker, you may use the following command to run the container:
docker run -d ecsouthwick/trusted-traveler-scheduler [-d CURRENT_APPOINTMENT_DATE] [-l LOCATION_IDS]
[-n NOTIFICATION_LEVEL] [-u NOTIFICATION_URLS] [-r RETRIEVAL_INTERVAL] [-s START_APPOINTMENT_TIME]
[-e END_APPOINTMENT_TIME]Optionally, you may attach your config.json file to the container to utilize your configuration settings.
docker run -d --name ttp --volume /path/to/config.json:/app/config.json ecsouthwick/trusted-traveler-schedulerNote: The recommended restart policy for the container is on-failed or no.
- Copy
config.example.jsontoconfig.json. - See CONFIGURATION.md for detailed instructions on setting up
config.json.
For information on the list of applicable locations, see LOCATIONS.md.
- Drewster727 for their
goes-notifyrepository which was used for initial testing of the Trusted Traveler Program API. - jdholtz for their work on
auto-southwest-check-inwhich in part influenced the logic and overall structure of this project.
- Go Global Entry - Get instant alerts when Global Entry interview slots open
- Stepio - Social step tracking app with group challenges
- southwick.dev - My developer portfolio
