Skip to main content

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

Pylint

CodeQL

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

global_entry_scanner-0.1.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

global_entry_scanner-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

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

Hashes for global_entry_scanner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 852c80156f924027b5212cce166d6bfe039e30aec5b103b1a92ca1e553ce504e
MD5 a33d88f7a6b00a24fc01696f216e89e4
BLAKE2b-256 28217e68e290b40126834a96df362612749db00ec1e38ff775b1d221696b4f02

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file global_entry_scanner-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for global_entry_scanner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 948507d0d474493f11c1b2fcb5f322ffa1e8352d0c244ae4ed11e7801b4666ea
MD5 0af7a1b281039d6834f6471360619ed5
BLAKE2b-256 5a4708ecba5ca6a8fa578f973d6cedc4e2dd135b4ada4db0d02fdfb35426f6d2

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page