> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Precise Park

> Connect Precise Park to KODE OS for parking data

> Connect Precise Park to KODE OS for parking data integration

## Overview

Use this integration to bring Precise Park data into KODE OS. You discover devices per building API ID, monitor space counts and violation or service flags, and ingest related non-sensor parking records.

| Property            | Value    |
| ------------------- | -------- |
| **System Type**     | Parking  |
| **Communication**   | REST     |
| **Collection**      | Pull     |
| **Collection Mode** | SNAPSHOT |

## Supported Capabilities

* Discover Devices & Points
* Collect Sensor Data
* Collect Non-Sensor Data

## Prerequisites

* An active account with Precise Park and access to their API or developer portal
* Username and password credentials for the Precise Park system
* KODE OS environment with access to Data Sources

## Configure Connector in KODE OS

1. Navigate to **Data Sources** in your building
2. Click **API Catalog** and search for **Precise Park**
3. Click **+ Add Datasource**
4. Fill in the fields below and complete the three-page setup flow

| Field               | Required | Type     | Description                                              |
| ------------------- | -------- | -------- | -------------------------------------------------------- |
| **URL**             | Yes      | text     | The base URL or IP address of the external system        |
| **Username**        | Yes      | text     | The username for authenticating with the external system |
| **Password**        | Yes      | password | The password for authenticating with the external system |
| **API Building ID** | Yes      | text     | The building or source identifier in the external system |

## Discover Devices and Points

After configuring the connector, click **Discover** on the connector detail page. KODE OS will query the Precise Park system and return a list of available devices and their data points.

Review the discovered items and select the devices you want to register in KODE OS.

For more details on the discovery process, see the [Discovery guide](/products/integrations/capabilities/discovery).

## Devices and Points

When you discover devices from Precise Park, KODE OS maps them to the following device types and data points:

### Presence / Occupancy Sensor

Canonical Type: `presenceDetection`

| #  | Point               | Description                                                                | Unit | Writable | Ontology Field           | Collection |
| -- | ------------------- | -------------------------------------------------------------------------- | ---- | -------- | ------------------------ | ---------- |
| 1  | `is_in_violation`   | **True** -- violation detected / **False** -- no violation                 | --   | No       | `threshold_alarm`        | Polling    |
| 2  | `is_occupied`       | **True** -- space is currently occupied / **False** -- space is unoccupied | --   | No       | `occupancy_status`       | Polling    |
| 3  | `is_out_of_service` | **True** -- device is out of service / **False** -- device is in service   | --   | No       | `ongoing_status`         | Polling    |
| 4  | `is_reserved`       | **True** -- space is reserved / **False** -- space is not reserved         | --   | No       | `ongoing_status`         | Polling    |
| 5  | `available`         | Number of currently available spaces                                       | --   | No       | `total_unoccupied_count` | Polling    |
| 6  | `occupied`          | Number of currently occupied spaces                                        | --   | No       | `occupancy_count`        | Polling    |
| 7  | `out_of_service`    | Count of unoccupied/non-active spaces                                      | --   | No       | `unoccupied_count`       | Polling    |
| 8  | `reserved`          | Count of unoccupied/non-active spaces                                      | --   | No       | `unoccupied_count`       | Polling    |
| 9  | `vacant`            | Number of vacant spaces                                                    | --   | No       | `max_unoccupied_count`   | Polling    |
| 10 | `total`             | Total count                                                                | --   | No       | `unoccupied_count`       | Polling    |

## What Data You Get

### Point History

Time-series readings including is\_in\_violation, is\_occupied, is\_out\_of\_service, is\_reserved, available, occupied, out\_of\_service, reserved, and 2 more, collected at regular intervals from connected devices

### Bookings

Space reservation records including attendees, check-in/out times, confirmation status, and room/space details

KODE OS maps the collected data to these standard fields:

| KODE Field         | Description                                          |
| ------------------ | ---------------------------------------------------- |
| **ID**             | Unique booking identifier                            |
| **Title**          | Booking title or subject                             |
| **Description**    | Booking details                                      |
| **Status**         | Booking status (e.g., Confirmed, Pending, Cancelled) |
| **Type**           | Booking type (Room, Desk, Parking, Visitor)          |
| **Location**       | Space or room being booked                           |
| **Host Name**      | Person who created the booking                       |
| **Host Email**     | Email of the booking host                            |
| **Attendee Name**  | Visitor or attendee name                             |
| **Attendee Email** | Visitor or attendee email                            |
| **Start Time**     | Booking start date and time                          |
| **End Time**       | Booking end date and time                            |
| **Check-In**       | Actual check-in timestamp                            |
| **Check-Out**      | Actual check-out timestamp                           |
| **Confirmed**      | Whether the booking has been confirmed               |
| **Cancelled**      | Whether the booking has been cancelled               |
| **Created At**     | Timestamp when the booking was created               |
| **Updated At**     | Timestamp of the last update                         |

### Polling Schedule

* **Point History** -- Default polling: 30 seconds (min: 30 seconds, max: 1 hours)
* **Booking** -- Default polling: 1 days (min: 1 days, max: 1 days)

For more details on collection modes, see the [Data Collection guide](/products/integrations/capabilities/data-collection).

## Use Cases

Once connected, this integration enables you to:

* Monitor real-time parking space availability across facilities
* Track occupancy trends to optimize parking allocation and signage
* Generate utilization reports for parking revenue and capacity planning

## Troubleshooting

<AccordionGroup>
  <Accordion title="Authentication or connection error">
    Verify that the credentials are correct and have not expired. Check that the URL is reachable from the KODE OS environment. Verify the username and password are correct and the account has not been locked in the Precise Park system.
  </Accordion>

  <Accordion title="Discovery returns no devices">
    Verify the connector credentials have sufficient permissions in the Precise Park system to list devices. Run a test connection first to confirm connectivity. Some systems require specific API scopes or roles for device enumeration.
  </Accordion>

  <Accordion title="Data collection stops or gaps appear">
    Check the connector status on the Data Sources page. If the status shows an error, review the error logs on the connector detail page. Common causes include expired credentials, network changes, or rate limiting by the Precise Park API.
  </Accordion>
</AccordionGroup>
