Scan for Global Entry / NEXUS appointment slots and get notified
Project description
Global-Entry-Appointment-Scanner
Overview
This Python script automatically checks for available appointments at specified locations and notifies the user when new appointments are available for global entry / NEXUS locations.
The script fetches appointment data from an API, processes the data to find new available slots, and sends notifications to the user. It is set up to check for appointments every 15 minutes, but this interval can be adjusted as needed.
Build Status
Prerequisites
Before running the script, ensure you have the following installed:
- Python 3.6 or higher
You can install the required Python libraries using pip:
pip install -r requirements.txt
Setup
- (Optional) Twilio Account: The script uses Twilio to send SMS notifications. You need to create a Twilio account and get your account_sid and auth_token. You also need a Twilio phone number to send SMS messages.
- API Endpoint: The script is configured to fetch data from a specific API endpoint. Make sure the endpoint is correct and operational.
Configuration Variables
APPOINTMENTS_API_URL: URL for the API endpoint.CHECK_INTERVAL: Time interval (in seconds) between checks when no errors occur.ERROR_INTERVAL: Time interval (in seconds) between checks when an error occurs.
Running the Script
To run the script, simply execute it from the command line:
python3 appointment_scanner.py
The script will continuously check for new appointments and print updates to the console. If a new appointment is found, it will send an SMS notification.
SMS and Email Notifications
To enable SMS notifications, add following credentials in .env file:
account_sid(Twilio account SID)auth_token(Twilio account auth token)to_number(recipient phone number)from_number(Twilio phone number)
To enable email notifications, add following credentials in .env file:
to_email(recipient email address)from_(sender email address)password(sender email password)
Thank you to the following open source projects for inspiration:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file global_entry_scanner-0.1.0.tar.gz.
File metadata
- Download URL: global_entry_scanner-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
852c80156f924027b5212cce166d6bfe039e30aec5b103b1a92ca1e553ce504e
|
|
| MD5 |
a33d88f7a6b00a24fc01696f216e89e4
|
|
| BLAKE2b-256 |
28217e68e290b40126834a96df362612749db00ec1e38ff775b1d221696b4f02
|
Provenance
The following attestation bundles were made for global_entry_scanner-0.1.0.tar.gz:
Publisher:
publish.yml on JaiminBrahmbhatt/Global-Entry-Appointment-Scanner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
global_entry_scanner-0.1.0.tar.gz -
Subject digest:
852c80156f924027b5212cce166d6bfe039e30aec5b103b1a92ca1e553ce504e - Sigstore transparency entry: 1191474754
- Sigstore integration time:
-
Permalink:
JaiminBrahmbhatt/Global-Entry-Appointment-Scanner@dbe5765de08a40b2761c23fa821a6e988e458831 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JaiminBrahmbhatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dbe5765de08a40b2761c23fa821a6e988e458831 -
Trigger Event:
release
-
Statement type:
File details
Details for the file global_entry_scanner-0.1.0-py3-none-any.whl.
File metadata
- Download URL: global_entry_scanner-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
948507d0d474493f11c1b2fcb5f322ffa1e8352d0c244ae4ed11e7801b4666ea
|
|
| MD5 |
0af7a1b281039d6834f6471360619ed5
|
|
| BLAKE2b-256 |
5a4708ecba5ca6a8fa578f973d6cedc4e2dd135b4ada4db0d02fdfb35426f6d2
|
Provenance
The following attestation bundles were made for global_entry_scanner-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on JaiminBrahmbhatt/Global-Entry-Appointment-Scanner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
global_entry_scanner-0.1.0-py3-none-any.whl -
Subject digest:
948507d0d474493f11c1b2fcb5f322ffa1e8352d0c244ae4ed11e7801b4666ea - Sigstore transparency entry: 1191474755
- Sigstore integration time:
-
Permalink:
JaiminBrahmbhatt/Global-Entry-Appointment-Scanner@dbe5765de08a40b2761c23fa821a6e988e458831 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JaiminBrahmbhatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dbe5765de08a40b2761c23fa821a6e988e458831 -
Trigger Event:
release
-
Statement type: