Skip to content

AddressReservation

Get a list of reservations for a specific address.

GET /address/{addressId}/reservation

Parameters:

Name Type Description Default
address_id int

ID of the address.

required

Returns:

Type Description
List[Dict[str, Any]]

List of reservation representations.

Source code in nukiwebapi/address_reservation.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def list_reservations(self, address_id: int) -> List[Dict[str, Any]]:
    """
    Get a list of reservations for a specific address.

    GET /address/{addressId}/reservation

    Args:
        address_id (int): ID of the address.

    Returns:
        List of reservation representations.
    """
    if not isinstance(address_id, int):
        raise ValueError("address_id must be an integer")

    return self.client._request(
        "GET", f"/address/{address_id}/reservation"
    ).json()

Issue authorizations for an address reservation.

POST /address/{addressId}/reservation/{id}/issue

Parameters:

Name Type Description Default
address_id int

ID of the address.

required
reservation_id str

Reservation ID to issue authorizations for.

required

Returns:

Type Description
Dict[str, Any]

API response. 204 No Content if successful.

Source code in nukiwebapi/address_reservation.py
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def issue_reservation(self, address_id: int, reservation_id: str) -> Dict[str, Any]:
    """
    Issue authorizations for an address reservation.

    POST /address/{addressId}/reservation/{id}/issue

    Args:
        address_id (int): ID of the address.
        reservation_id (str): Reservation ID to issue authorizations for.

    Returns:
        API response. 204 No Content if successful.
    """
    if not isinstance(address_id, int):
        raise ValueError("address_id must be an integer")
    if not isinstance(reservation_id, str):
        raise ValueError("reservation_id must be a string")

    return self.client._request(
        "POST", f"/address/{address_id}/reservation/{reservation_id}/issue"
    )

Revoke authorizations for an address reservation.

POST /address/{addressId}/reservation/{id}/revoke

Parameters:

Name Type Description Default
address_id int

ID of the address.

required
reservation_id str

Reservation ID to revoke authorizations for.

required

Returns:

Type Description
Dict[str, Any]

API response. 204 No Content if successful.

Source code in nukiwebapi/address_reservation.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
def revoke_reservation(self, address_id: int, reservation_id: str) -> Dict[str, Any]:
    """
    Revoke authorizations for an address reservation.

    POST /address/{addressId}/reservation/{id}/revoke

    Args:
        address_id (int): ID of the address.
        reservation_id (str): Reservation ID to revoke authorizations for.

    Returns:
        API response. 204 No Content if successful.
    """
    if not isinstance(address_id, int):
        raise ValueError("address_id must be an integer")
    if not isinstance(reservation_id, str):
        raise ValueError("reservation_id must be a string")

    return self.client._request(
        "POST", f"/address/{address_id}/reservation/{reservation_id}/revoke"
    )

Update access times for a reservation.

POST /address/{addressId}/reservation/{id}/update/accesstimes

Parameters:

Name Type Description Default
address_id int

ID of the address.

required
reservation_id str

Reservation ID to update.

required
access_times dict

Dictionary with access times. Example: {"checkInTime": 0, "checkOutTime": 0}

required

Returns:

Type Description
Dict[str, Any]

API response. 204 No Content if successful.

Source code in nukiwebapi/address_reservation.py
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
def update_reservation_access_times(
    self, address_id: int, reservation_id: str, access_times: Dict[str, Any]
) -> Dict[str, Any]:
    """
    Update access times for a reservation.

    POST /address/{addressId}/reservation/{id}/update/accesstimes

    Args:
        address_id (int): ID of the address.
        reservation_id (str): Reservation ID to update.
        access_times (dict): Dictionary with access times. Example: {"checkInTime": 0, "checkOutTime": 0}

    Returns:
        API response. 204 No Content if successful.
    """
    if not isinstance(address_id, int):
        raise ValueError("address_id must be an integer")
    if not isinstance(reservation_id, str):
        raise ValueError("reservation_id must be a string")
    if not isinstance(access_times, dict):
        raise ValueError("access_times must be a dict")

    return self.client._request(
        "POST",
        f"/address/{address_id}/reservation/{reservation_id}/update/accesstimes",
        json=access_times,
    )