Skip to main content

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-token and stores the returned bearer token automatically.
  • Read endpoints that require a language parameter default to en, configurable through KrossConfig.
  • Date fields accepted by helper methods can be str, datetime.date, or datetime.datetime; they are normalized to YYYY-MM-DD.
  • Search and mutation payloads are intentionally passed through with minimal reshaping because the app mostly sends server-shaped DTOs.

Source Documentation

The client surface is aligned to the reverse-engineered Kross mobile API, but the private research notes are intentionally not referenced from the published package documentation.

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

krossapy-0.2.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

krossapy-0.2.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file krossapy-0.2.1.tar.gz.

File metadata

  • Download URL: krossapy-0.2.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for krossapy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 09553a876f67cc239a878a4bd560e2a552fa4674df9b119c31fc22f40430c96b
MD5 cef135025b9cf8206bb8e21fc6db9ca6
BLAKE2b-256 7e6bfb0bdd67b3dbc5bb28a9008c897c90f3076583b0220a27464eef292c8848

See more details on using hashes here.

File details

Details for the file krossapy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: krossapy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for krossapy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 635e2f07649e8e815870572eb5bbd11b15c153e643493a3476ad5691be1a964d
MD5 34c63fa83c7f555b3a490f2d6d25ebea
BLAKE2b-256 692d42e8dc9bec662d8c22f228ab2bbb36d5d08e659fb2a165e1483527ebb3d5

See more details on using hashes here.

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