Unofficial Python client for the Kross Booking v5 mobile API
Project description
krossApy
Unofficial Python client for the reverse-engineered Kross Booking mobile API.
The package now targets the documented /v5 JSON backend used by the official app instead of the older website scraping flow. Requests are sent as authenticated JSON POST calls to https://apiapp.krossbooking.com/v5.
Installation
pip install krossApy
Quick Start
from krossApy import KrossAPI
with KrossAPI("hotel-id") as api:
auth = api.login(
"username",
"password",
device_id="device-uuid",
deviceName="MacBook Pro",
deviceSystem="macOS",
deviceSystemVersion="15.0",
token="push-token",
)
properties = api.get_properties()
id_property = properties["properties"][0]["id_property"]
totals = api.get_dashboard_totals(id_property=id_property, value_date="2026-04-30")
reservation = api.get_reservation(id_reservation=3496)
print(auth["auth_token"])
print(totals)
print(reservation)
Available Methods
The client exposes the main endpoints identified in the reverse-engineered documentation:
login(...)get_properties()get_dashboard_totals(...)get_dashboard_bucket(...)search_reservations(...)get_reservation(...)save_reservation(...)cancel_reservation(...)get_reservation_params(...)get_room_for_reservation_params(...)save_room_for_reservation(...)get_guests(...)check_in(...)check_out(...)undo_check_in(...)save_guest_data(...)get_contracts_for_reservation(...)sign_contract(...)preview_contract(...)get_checklists_for_reservation(...)get_checklist(...)save_answers(...)save_custom_fields(...)get_charges_payments_docs(...)save_charge(...)save_payment(...)delete_charge(...)delete_payment(...)invalid_cc(...)save_document(...)get_planner(...)request(path, body)for raw access to additional endpoints
Notes
- Authentication uses
POST /auth/get-tokenand stores the returned bearer token automatically. - Read endpoints that require a language parameter default to
en, configurable throughKrossConfig. - Date fields accepted by helper methods can be
str,datetime.date, ordatetime.datetime; they are normalized toYYYY-MM-DD. - Search and mutation payloads are intentionally passed through with minimal reshaping because the app mostly sends server-shaped DTOs.
Source Documentation
The endpoint mapping used for this refactor is captured in KROSS_RESERVATION_API.md.
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 krossapy-0.2.0.tar.gz.
File metadata
- Download URL: krossapy-0.2.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
954bfa19b93f164c7947ac8b2bb26e611f923046c8a517836d81d911e8273741
|
|
| MD5 |
74a1b46f0a884193ec89005cb289afa6
|
|
| BLAKE2b-256 |
21db83b134a7c268e0fff0db3ac9d87b9062f17de91de37d6600ec6fdbc05138
|
File details
Details for the file krossapy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: krossapy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b09d9299bf825f6b89f1883567f7682abf45eff034c414e1de7749ddbf624c57
|
|
| MD5 |
a5edb3ba9987e5db4e90034b0f90adf8
|
|
| BLAKE2b-256 |
b9018d6a568a9635c569f595bf34580278e52d7a4071520bf8a68e22327ccced
|