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 endpoint mapping used for this refactor is captured in KROSS_RESERVATION_API.md.

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.0.tar.gz (14.8 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.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for krossapy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 954bfa19b93f164c7947ac8b2bb26e611f923046c8a517836d81d911e8273741
MD5 74a1b46f0a884193ec89005cb289afa6
BLAKE2b-256 21db83b134a7c268e0fff0db3ac9d87b9062f17de91de37d6600ec6fdbc05138

See more details on using hashes here.

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

Hashes for krossapy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b09d9299bf825f6b89f1883567f7682abf45eff034c414e1de7749ddbf624c57
MD5 a5edb3ba9987e5db4e90034b0f90adf8
BLAKE2b-256 b9018d6a568a9635c569f595bf34580278e52d7a4071520bf8a68e22327ccced

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