anny-booking-automation/config/constants.py
2026-02-08 13:09:36 +01:00

87 lines
2.9 KiB
Python
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from datetime import datetime
AUTH_BASE_URL = "https://auth.anny.eu"
ANNY_BASE_URL = "https://anny.eu"
BOOKING_API_BASE = "https://b.anny.eu/api/v1"
CHECKOUT_FORM_API = "https://b.anny.eu/api/ui/checkout-form"
RESOURCE_URL = f"{BOOKING_API_BASE}/resources/1-lehrbuchsammlung-eg-und-1-og/children"
SERVICE_ID = "601"
# RESOURCE_ID = None # "5957" # Will be set dynamically if None, else use the given ID
# INFO: resource ID is seat
# RESOURCE_ID =15994 # 91 height adjustable desk
# RESOURCE_ID =16402 # 222 study room
# RESOURCE_ID =15883 #66 second best
# RESOURCE_ID = 15502 # 17 cool snipe with view
# RESOURCE_IDS = [15502, 15883, 16402]
# RESOURCE_ID = None
RESOURCE_IDS = [15883, 15502, 15880, 15505, 15892]
# tum only:
# last: "booking_quota_grant_id":"24735199",
# -> every THURSDAY IT HAS TO BE +3 cuz reservation is for monday (changes to +3 of last)
INITIAL_BOOKING_QUOTA_GRANT_ID = 24735199
initial_date = datetime(2026, 1, 28)
current_date = datetime.now()
days_passed = (current_date - initial_date).days
weeks_passed = days_passed // 7
BOOKING_QUOTA_GRANT_ID = INITIAL_BOOKING_QUOTA_GRANT_ID + 3*weeks_passed
print(BOOKING_QUOTA_GRANT_ID)
TIMEZONE = "Europe/Berlin"
# SSO_PROVIDER = "kit" # Available: kit (add more in auth/providers/)
SSO_PROVIDER = "tum" # Available: kit (add more in auth/providers/)
DEFAULT_HEADERS = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0",
"accept": "application/vnd.api+json",
"accept-encoding": "plain",
}
# Booking time slots (in order of priority)
# INFO: BOOKING RULES
# Booking quota: 40 hours per week.
# Each booking reduces the quota by the number of hours reserved.
# The quota resets every Monday at midnight. Unused hours do not carry over to the following week.
# EXPIRY: After 30 minutes, if you do not show up or fail to check in. -> i think doesnt matter cuz i can check in and leave without checkingout lol
# Check-in must be completed within 30 minutes after the start time of your reservation; otherwise, the resource will automatically become available for booking again in the reservation system.
# +- this means i can snipe unused spots daily
# best booking time:
# 1. 12-22 -> why? -> because at 22 there will be free seats fs AND at 12 i will be awake for sure maybe 13 would be even better.
# i have only 40/7=5.7 per day SO -> 12-17:30 is best?
BOOKING_TIMES = [
# SNIPE
# {
# 'start': '13:00:00',
# 'end': '18:00:00'
# },
# BEST
# {
# 'start': '12:00:00',
# 'end': '22:00:00'
# },
# OPTIMAL
# 40/7=5.7
{"start": "12:00:00", "end": "17:30:00"},
# {
# 'start': '12:00:00',
# 'end': '22:00:00'
# },
# {
# 'start': '22:30:00',
# 'end': '23:30:00'
# },
# {
# 'start': '09:00:00',
# 'end': '13:00:00'
# },
# {
# 'start': '20:00:00',
# 'end': '23:45:00'
# },
]