Skip to Content
Welcome to the new Haccpy docs! πŸ‘‹
User GuideSettings

Settings

Settings are under Settings in the sidebar. Base path: /{tenant}/settings/....


Locations

Route: /{tenant}/settings/locations

  • List β€” All locations for the tenant (name, address, status, device/camera counts, actions).
  • Create β€” Add a new location (e.g. name, address, timezone).
  • Detail β€” /{tenant}/settings/locations/[id] β€” View and edit location details, and manage:
    • Cameras β€” Assign cameras to the location.
    • Devices β€” Assign devices (bridge, tablet) to the location.
    • Models β€” Assign AI/ML models (if used).
    • Agents β€” Assign agents (if the product uses agents for this location).

Location detail may show cards for: location info, devices, cameras, model assignment, and agents.


Cameras

Route: /{tenant}/settings/cameras

  • List β€” All cameras (card or table: name, location, status, stream preview, actions).
  • Create β€” Add camera (e.g. name, stream URL, location, credentials).
  • Edit β€” Update camera details.
  • Camera feed β€” View live or recorded feed in a dialog or dedicated view.

Cameras are used for violation detection and monitoring; they can be assigned to locations in Settings β†’ Locations β†’ [location] β†’ Cameras.


Team

Route: /{tenant}/settings/team

  • List β€” Users invited to the tenant (email, role, status, actions).
  • Invite β€” Invite a new user (email, role).
  • Edit user β€” Change role or revoke access.
  • Edit role β€” Change role settings (if the app supports role editing).

Employees

Route: /{tenant}/settings/employees

  • List β€” Employees (name, identifier, location, status, actions).
  • Create / Edit β€” Add or update employee (name, ID, assigned location, etc.).

Employees are used in Checklists (who submitted) and Enter-Leave Events (who entered/left). They may be linked to users or be standalone records.


Checklists (management)

Route: /{tenant}/settings/checklists

  • List β€” Checklist definitions (name, item count, actions).
  • Create / Edit β€” Define checklist (name, description) and checklist items (type, label, required, attachment allowed, order).
  • Detail β€” /{tenant}/settings/checklists/[id] β€” Edit checklist and items, preview checklist as a user would see it when filling.

Checklist items can be reordered (e.g. drag-and-drop). Item types might include: yes/no, text, single choice, file upload.


Models

Route: /{tenant}/settings/models

  • List β€” AI/ML models (e.g. for violation detection). May show name, version, status, assignment.
  • Assign β€” Assign models to locations or cameras (sometimes from Settings β†’ Locations β†’ [location]).

Devices

Route: /{tenant}/settings/devices

What are Devices?

Devices are the physical hardware units that connect your cameras and sensors to the HACCPY platform. There are three types:

TypeDescription
BridgeA gateway device that connects IP cameras to the platform and runs AI inference locally
TabA tablet running the HACCPY Tablet app, used for employee check-in, checklists, and Enter/Leave tracking
Air SensorAn environmental air monitoring sensor provisioned through a request workflow

The Devices page

Navigate to Settings β†’ Devices. The page has two sections stacked vertically:

  1. Bridges & Tabs β€” all registered Bridge and Tablet devices
  2. Air Sensors β€” air monitoring devices and pending requests (only visible with AIR_DEVICES_VIEW permission)

A toolbar above the Bridges & Tabs list lets you toggle between table view (rows) and card view (grid).


Bridges & Tabs

Each device shows:

  • Manufacturer and model name
  • Device ID (mono text)
  • Device type badge, colour-coded: Bridge or Tab
  • Linked cameras β€” first camera name shown, remainder collapsed
  • Assigned location β€” green Assigned badge or amber Unassigned badge
  • Last activity date
  • Platform and OS version in the card footer (e.g. Android 11)

Actions menu

Hover over a device card or row to reveal the actions menu (three-dot icon).

Request snapshot Triggers the device to capture and upload a snapshot from its connected cameras immediately. A success toast confirms the request was sent.

Manage cameras Opens the Manage Cameras dialog with a scrollable list of all cameras in your organisation. Cameras currently linked to this device are pre-checked.

  • Click a camera row (or its checkbox) to toggle it
  • Click Save to apply changes β€” cameras are assigned or unassigned in bulk
  • Click Close to discard changes

Assign to location Opens the Assign to Location dialog. Select a location from a searchable dropdown and confirm. The device’s location badge updates to Assigned immediately. Only shown when the device is not yet assigned to a location.

Unassign from [location name] Removes the device’s current location assignment. A confirmation dialog appears before the action runs. Only shown when the device is already assigned to a location.


Air Sensors

Permission required to view this section: AIR_DEVICES_VIEW Permission required to create or cancel requests: AIR_DEVICES_REQUEST

A user with only AIR_DEVICES_VIEW can see the list but cannot take any actions.

Air Sensors follow a request-based provisioning workflow β€” you submit a request specifying which location needs a sensor, an administrator reviews it, and the device is provisioned once approved.

Each Air Sensor card or row shows:

  • Location name the sensor was requested for
  • Request status badge, colour-coded:
    • Pending (amber) β€” awaiting admin review
    • Approved (green) β€” request accepted, device being provisioned
    • Rejected (red) β€” request declined (a rejection note may be visible)
    • Cancelled (grey) β€” request was cancelled before review
  • Who submitted the request and the submission date
  • If reviewed: the review date in the card footer

Requesting a new Air Sensor

Permission required: AIR_DEVICES_REQUEST

  1. Go to Settings β†’ Devices.
  2. Click New Request in the top-right corner of the page.
  3. In the dialog, select the location you want the sensor provisioned for. If your organisation has only one location it is pre-selected.
  4. Click Submit Request.

The request appears in the Air Sensors list with a Pending badge. An administrator will review and either approve or reject it.

Cancelling a pending request

Permission required: AIR_DEVICES_REQUEST

You can only cancel a request while it is still Pending (not yet reviewed).

  1. Find the pending request in the Air Sensors list.
  2. Click Cancel in the card footer (card view) or the cancel action in the row (table view).
  3. Confirm in the dialog by clicking Cancel request.

The request status changes to Cancelled and it is removed from the active list.


Detection Use Cases

Route: /{tenant}/settings/detection-usecases

Permission required to view: USECASES_VIEW Permission required to manage: USECASES_MANAGE

What are Detection Use Cases?

Detection Use Cases define what HACCPY’s AI cameras look for β€” for example, detecting workers without gloves or identifying bare hands near food surfaces. Each use case can be independently activated, configured, and assigned to specific cameras.

Use Cases list

Navigate to Settings β†’ Use Cases to see all use cases available to your organisation. Each card shows:

  • The use case name and logo
  • A status badge: Active (green) or Inactive (grey)
  • Industry and category labels
  • Tags describing what the use case detects

Activating a use case

Permission required: USECASES_MANAGE

  1. Find the use case you want to enable.
  2. Click Activate on the card.
  3. Confirm in the dialog. The status badge changes to Active and the use case begins processing on any cameras it is configured for.

Deactivating a use case

Permission required: USECASES_MANAGE

  1. Find the active use case.
  2. Click Deactivate on the card.
  3. Confirm in the dialog. Detection processing stops immediately for this use case.

Click anywhere on the card (other than the Activate/Deactivate button) to open the full configuration page.


Configuring a Use Case

Route: /{tenant}/settings/detection-usecases/[id]

The configuration page has three areas:

  • A header bar at the top with status and action buttons
  • A left sidebar listing the cameras in your organisation
  • A main panel on the right that changes depending on what you select in the sidebar

Header bar

The header always shows the use case name, its current status, and the available action buttons.

ButtonWhen it appearsWhat it does
Activate / DeactivateAlwaysToggles the use case on or off for the whole organisation
SaveDefault Configuration view, when there are unsaved changesSaves the global configuration
ResetPer-camera view, when the camera has a saved overrideRemoves the camera’s override and reverts to global defaults (confirmation required)

Default Configuration view

Shown when the page first loads and when you click Default Configuration at the top of the left sidebar.

Applies to Cameras β€” A panel listing which cameras this use case is active for. Each camera appears as a chip (pill button):

  • Click a chip to toggle that camera in or out
  • Use Select all / Deselect all to bulk-select
  • The badge next to the panel title shows the current selection count

When you save on this view, the global settings are applied as the starting configuration for all currently selected cameras.

Configuration fields β€” A form with the parameters specific to this use case (e.g. confidence thresholds, sensitivity levels, zone definitions). Available fields depend on the use case.

ROI (Region of Interest) fields β€” Some use cases include fields where you draw detection zones directly on a canvas. Click and drag to draw a zone; click an existing zone to edit or delete it.

Details β€” A read-only panel showing metadata about the use case: description, industry, category, version, and tags.

Per-Camera Override view

Click any camera in the left sidebar to open its individual configuration. This lets you give a specific camera different settings from the global defaults.

The form shows the same fields as the Default Configuration view, pre-filled with the camera’s current values. If no override has been saved yet, the fields are pre-filled with the global defaults as a starting point.

ActionWhat it does
SaveStores the override for this camera only β€” other cameras are not affected
DiscardReverts any unsaved edits to the last saved values
ResetDeletes the camera’s saved override; it will use the global configuration going forward (confirmation required)

Each camera in the sidebar shows its name, connection details (IP address, URL, or subnet), and a colour-coded badge for the connection type (e.g. RTSP In, RTSP Out, HTTP). The currently selected camera is highlighted with a coloured left border.


Configuration

Route: /{tenant}/settings/configuration

  • Tenant-wide settings β€” e.g.:
    • Email notifications β€” Recipients per location or event type (violations, alerts).
    • Privacy / data retention β€” How long to keep violations, images, logs.
    • Integrations β€” Webhooks, external systems (if supported).

Configuration is tenant-scoped.

Email notification options

  • Email with photo β€” Send email notifications including violation photos
  • Email without photo β€” Send email notifications without photos attached
  • Don’t send email β€” Disable email notifications for violations

Recipients by location

Select recipients who will receive violation emails for each location. You can configure different recipients for different locations.

Privacy settings

  • Keep photos β€” Store and retain violation photos in the system
  • Remove photos β€” Automatically remove photos after processing to maintain privacy

URL summary

SectionURL
Locations/{tenant}/settings/locations
Location detail/{tenant}/settings/locations/[id]
Cameras/{tenant}/settings/cameras
Team/{tenant}/settings/team
Employees/{tenant}/settings/employees
Checklists/{tenant}/settings/checklists
Checklist detail/{tenant}/settings/checklists/[id]
Models/{tenant}/settings/models
Devices/{tenant}/settings/devices
Configuration/{tenant}/settings/configuration
Detection Use Cases/{tenant}/settings/detection-usecases
Use Case configuration/{tenant}/settings/detection-usecases/[id]

Replace {tenant} with the tenant slug and [id] with the entity ID.

Last updated on