# OPSCOM Enforce - iOS & Android

<span>The new beta admin enforcement app compatible with both </span>[<span>iOS </span>](https://apps.apple.com/us/app/OPSCOM-enforce/id6450907714)<span>and </span>[Android](https://play.google.com/store/apps/details?id=com.handheldlite.ionic), called "OPSCOM Enforce".

**Note:** Not to be confused with the current in-use legacy app for Android only, "OPSCOM Parking Enforcement".

# Installation Setup & Maintenance

# First Time Installation - Enforce

<p class="callout info">The First Time Installation guide outlines how to download and set up the legacy parking enforcement application on a new mobile device. Its primary purpose is to ensure field officers successfully download the application from the Google Play Store and understand the initial registration and permission requirements. This article is intended for OPSCOM administrators and field enforcement personnel provisioning new handheld devices.</p>

## Setup and Configuration

The installation requires both administrative setup in the web portal and physical configuration on your device.

**Admin Side:**

1. Tap the **Play Store** app on the device's main screen to open it.
2. Tap the search bar and type **OPSCOM Enforce** or **OPSCOM**.
3. Tap the **OPSCOM Enforce** application icon from the search results to access the store page.
4. Tap the **Install** button to begin the download process.
5. Tap **Accept** on the settings pop-up window to grant the application access to required device integrations.
6. Tap the **Open** button directly within the store once the installation completes, or return to the device's home screen and tap the newly created **OPSCOM** app shortcut.

## Using this Feature

Because this is a one-time installation process, interacting with the software primarily involves completing the initial launch and capturing the device's unique identifier.

### Initial Application Launch

Upon opening the application for the very first time, the system will prevent immediate login and display a registration warning.

- **Application UUID Prompt:** A message will pop up stating that the device is not registered. This message displays a unique UUID number. This string is critical, as your administrator needs this exact UUID to manually register and authorize the physical tablet within the main OPSCOM system.

### Updating the Application

1. Tap the **Play Store** app on the device's Apps screen.
2. Tap the search bar and enter **OperationsCommander** or **OPSCOM**.
3. Tap the **OperationsCommander** app icon to open the page.
4. Tap the **Update** button to perform an in-place update of the existing software.
5. Tap the **Open** button directly within the Play Store, or return to the device's home screen and tap the newly created shortcut to launch the application.

## Application Uninstall

1. Tap the **Play Store** app on the device's Apps screen.
2. Tap the search bar and enter **OperationsCommander** or **OPSCOM**.
3. Tap the **OperationsCommander** app icon to open the page.
4. Tap the **Uninstall** button
5. A pop-up will appear to confirm this action, press the **Uninstall** button to remove the app from your device

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Document the UUID immediately:** **Officers should take note of the UUID displayed upon first launch and provide it to their supervisor.** The application cannot proceed past the login screen until an administrator registers this specific hardware ID.</span>
- <span style="color: rgb(22, 145, 121);">**Verify user permissions:** **If an officer's account login fails after the UUID has been registered, contact your organization's high-level administrator.** The login failure is likely due to the user account missing the mandatory **Add New Violation** permission on the backend.</span>

# OPSCOM Enforce DEMO Mode

<p class="callout info">The Using the OPSCOM App in DEMO Mode feature allows users to access and explore the Enforce application without needing to formally register a physical device on the server. Its primary purpose is to provide a pre-populated, safe sandbox environment for training and testing core functionality. This article is intended for OPS-COM administrators and field enforcement personnel who are learning the system.</p>

## Setup and Configuration

No formal backend setup or device registration is required to access the demonstration environment.

**Admin Side:** Administrators do not need to register the handheld device's UUID or configure specific user permissions for this mode.

**User Side (Enforcement Staff):** Simply ensure the legacy Android enforcement application is installed on the handheld device and ready to launch.

## Using this Feature

Accessing the demonstration mode is done directly from the initial launch screen of the application.

### Accessing Demo Mode

1. Open the application on your handheld device.
2. Tap **DEMO MODE** on the initial boot screen instead of choosing to register the handheld unit.
3. Tap **LOGIN** on the subsequent sign-in screen. The required test credentials are automatically supplied and pre-filled by the system.

### Testing in Demo Mode

Once logged in, users can freely interact with the interface to practice core tasks. You can practice scenarios covered in other guides, such as Searching for a plate, Virtual Chalking, Violation and Permits Search.

<p class="callout info">**Isolated Environment** The data created or modified while in DEMO MODE is completely isolated. Any test violations issued or vehicles chalked during your session will not synchronize to your live administrative portal.</p>

**Available Test Data**

The demonstration database is pre-populated with sample records to facilitate testing. Use the information in the table below to practice searches and issue test violations:

<table data-path-to-node="15" id="bkmrk-username-first-name-" style="width: 100%;"><thead><tr><td style="width: 12.2765%;">**Username**</td><td style="width: 9.77354%;">**First Name**</td><td style="width: 11.6806%;">**Last Name**</td><td style="width: 10.3695%;">**User Type**</td><td style="width: 9.53516%;">**Plate(s)**</td><td style="width: 13.1103%;">**VIN Number(s)**</td><td style="width: 9.53573%;">**Violations**</td><td style="width: 23.7187%;">**Permits**</td></tr></thead><tbody><tr><td style="width: 12.2765%;"><span data-path-to-node="15,1,0,0">spencer</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,1,1,0">Spencer</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,1,2,0">Carr</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,1,3,0">Full Time Staff</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,1,4,0">SPENCE</span></td><td style="width: 13.1103%;"> </td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"> </td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,2,0,0">jparsons</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,2,1,0">Julie</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,2,2,0">Parsons</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,2,3,0">Complimentary</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,2,4,0">JULPAR, ASDA347</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,2,5,0">1q21242143124213</span></td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,2,7,0">COM100 - Unpaid</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,3,0,0">jrockwood</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,3,1,0">James</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,3,2,0">Rockwood</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,3,3,0">F/T Student</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,3,4,0">JROCK</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,3,5,0">5SXHANDC38RZ55506</span></td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,3,7,0">R102 - Red Student Lot W</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,4,0,0">sjamieson</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,4,1,0">Steph</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,4,2,0">Jamieson</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,4,3,0">P/T Student</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,4,4,0">SJAM, SJAM2</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,4,5,0">2T1BU4EE5DC972469, 1N4AL3AP5DN517821</span></td><td style="width: 9.53573%;"><span data-path-to-node="15,4,6,0">TT-10001</span></td><td style="width: 23.7187%;"><span data-path-to-node="15,4,7,0">100 - Red Student W, 102 Red Student W</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,5,0,0">johndoe</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,5,1,0">John</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,5,2,0">Doe</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,5,3,0">F/T Staff</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,5,4,0">ABC316</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,5,5,0">1FMCU0EG1CKB65454</span></td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,5,7,0">501 - Unpaid</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,6,0,0">skjones</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,6,1,0">Jones</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,6,2,0">Sarah</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,6,3,0">Daily Reserved</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,6,4,0">AKRJ259</span></td><td style="width: 13.1103%;"> </td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"> </td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,7,0,0">vcosta</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,7,1,0">Voula</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,7,2,0">Costa</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,7,3,0">Daily Reserved</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,7,4,0">VCOST</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,7,5,0">2GCEC19V531113601</span></td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,7,7,0">L103 - Unpaid</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,8,0,0">bcameron</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,8,1,0">Brady</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,8,2,0">Cameron</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,8,3,0">Complimentary</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,8,4,0">BCAM</span></td><td style="width: 13.1103%;"> </td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,8,7,0">COM100 - Unpaid</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,9,0,0">sbyers</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,9,1,0">Sheldon</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,9,2,0">Byers</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,9,3,0">Daily Reserved</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,9,4,0">SHELBY</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,9,5,0">1G8ZN12871Z117051</span></td><td style="width: 9.53573%;"> </td><td style="width: 23.7187%;"><span data-path-to-node="15,9,7,0">L100 - Unpaid</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,10,0,0">pbirch</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,10,1,0">Patricia</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,10,2,0">Birch</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,10,3,0">F/T Staff</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,10,4,0">BIRCH, No Plate</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,10,5,0">1N6AD0ER5FN709323, 1GKS1AKC7FR518845</span></td><td style="width: 9.53573%;"><span data-path-to-node="15,10,6,0">TT-10003</span></td><td style="width: 23.7187%;"><span data-path-to-node="15,10,7,0">None</span></td></tr><tr><td style="width: 12.2765%;"><span data-path-to-node="15,11,0,0">mashbury</span></td><td style="width: 9.77354%;"><span data-path-to-node="15,11,1,0">Micheal</span></td><td style="width: 11.6806%;"><span data-path-to-node="15,11,2,0">Ashbury</span></td><td style="width: 10.3695%;"><span data-path-to-node="15,11,3,0">P/T Staff</span></td><td style="width: 9.53516%;"><span data-path-to-node="15,11,4,0">MASH, ASDA437, BDHE385</span></td><td style="width: 13.1103%;"><span data-path-to-node="15,11,5,0">JNAMA43H9XGE50339</span></td><td style="width: 9.53573%;"><span data-path-to-node="15,11,6,0">15-170420,TT-10010</span></td><td style="width: 23.7187%;"><span data-path-to-node="15,11,7,0">Monthly, 0005 - Red Staff Lot West, 0002 - Red Staff Lot West, 50 -After 4PM, 500 - Green Staff Lot East - UNPAID</span></td></tr></tbody></table>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Use demo mode for training:** **Organizations should establish a business rule requiring all new field officers to complete training exercises in DEMO MODE before issuing live tickets.** This ensures staff are comfortable with the interface and prevents accidental test violations from entering the live production database.</span>

# OPSCOM Web

<p class="callout info">The OPSCOM on the Web feature provides a convenient shortcut from the mobile application directly to the main administrative web portal. Its primary purpose is to allow administrators and field staff to seamlessly transition from the mobile app to a full web browser to access backend tools and manage tasks. This article is intended for OPSCOM administrators and field enforcement personnel using the Enforce <span class="citation-5437 citation-5438 citation-end-5438">application.</span></p>

## <span class="citation-5435 citation-5436 citation-end-5436">Setup and Configuration<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-5435 citation-end-5435"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

<span class="citation-5433 citation-5434 citation-end-5434">This feature utilizes the device's default web browser and requires no specialized backend configuration within the OPSCOM portal.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-5433 citation-end-5433"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-5427 citation-5428 citation-end-5428">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-5427 citation-end-5427"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>**<span class="citation-5425 citation-5426 citation-end-5426">Ensure the handheld device has an active internet connection and at least one sta<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-5425 citation-end-5425">ndard web browser app (such as Google Chrome) installed to load the page p<sup class="superscript embedded" data-turn-source-index="14"></sup></span>roperly.

## Using this Feature

Enforcement personnel can use this shortcut to quickly jump from their active mobile session to the full OPSCOM login page.

### Accessing the Web Portal

1. Tap **OPSCOM on the Web** from the main menu of the mobile application.
2. Tap your preferred web browser (e.g., Chrome) from the pop-up list when prompted by the operating system to choose an application.
3. Tap **Just Once** or **Always** to confirm your browser selection and execute the launch.
4. Log in to the standard OPSCOM web portal using your credentials once the browser redirects you to the login page.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Select a default browser:** **Tap Always when selecting your preferred web browser to streamline future access.** Setting a default browser skips the OS prompt, allowing the login page to launch immediately during subsequent uses.</span>
- <span style="color: rgb(22, 145, 121);">**Maintain active connectivity:** **Ensure your device is connected to a reliable network before attempting to use this shortcut.** Because this feature redirects you to a liv</span><span class="citation-5424 citation-end-5424"><span style="color: rgb(22, 145, 121);">e, external web page, it will not function if the device is currently in a dead zone or operating offline.</span><sup class="superscript embedded" data-turn-source-index="15"></sup></span>

<p class="callout info">**<span class="citation-5422 citation-end-5422">Network Requirements<sup class="superscript embedded" data-turn-source-index="17"></sup></span>** <span class="citation-5421 citation-end-5421">In order for this feature to work properly, the tablet must be in an area in whic<sup class="superscript embedded" data-turn-source-index="18"></sup></span>h it is c<span class="citation-5420 citation-end-5420">onnected to the internet via Wi-Fi or cellular data. If the device is offline, the browser will open but display a connection error.</span></p>

# App Logout

<p class="callout info">The Application Logout process securely closes the enforcement application at the end of a patrol shift. Its primary purpose is to protect access to the system by requiring a password for reentry, while automatically synchronizing all locally collected field data (such as issued violations and newly chalked vehicles) with the main database. This article is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

This functionality is a native security and synchronization feature of the application and requires no backend configuration.

**Admin Side:** Enforcement officers should verify that their handheld device has an active and stable internet connection (Wi-Fi or cellular) before initiating the logout sequence to ensure a successful final data sync.

## Using this Feature

Enforcement personnel must interact with the built-in logout sequence rather than simply minimizing or force-closing the application to ensure data integrity.

### Logging Out of the Application

1. Tap **Logout** from the drop down menu in the top left corner of the OPSCOM Enforce application.
2. Tap the confirmation on the pop-up message to confirm you want to log off. The program will automatically synchronize all data with the main database before securely closing and returning you to the main login screen.

### Confirming Data Synchronization

If you want to be absolutely certain your data is secure before logging out, or if you suspect a previous automatic sync failed:

1. Tap **Sync Status** from the main menu or full menu to force a manual synchronization of all local records.

<p class="callout info">**Sync Errors During Logout** If you receive a synchronization error message during the automated logout process, your data has not been lost. Log back into the application when you reach an area with a stronger network connection and manually tap the **Synchronize Data** option to force the upload.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Properly shut down after every shift:** **Officers must use the Application Logout button rather than simply closing or minimizing the app.** Proper logout ensures the device is securely locked behind a password and that critical citation data is immediately uploaded to the dispatch center.</span>
- <span style="color: rgb(22, 145, 121);">**Handle offline logouts carefully:** **If you log off in a location without internet access, your data is securely saved locally on the tablet, but it will not synchronize with the main database.** In this scenario, you must ensure a synchronization occurs the next time you sign into the OPSCOM program with an active network connection.</span>

# Testing Your WIFI Connection

<p class="callout info">The Testing Your WIFI Connection guide provides instructions for measuring Wi-Fi signal strength and channel congestion using a mobile application. Its primary purpose is to help identify and troubleshoot connectivity issues that may cause signal drops for mobile enforcement devices in the field. This article is intended for OPSCOM administrators and enforcement staff.</p>

## Setup and Configuration

To accurately test your network connection, you must install a specific third-party diagnostic application on your Android handheld device.

**Admin Side (Enforcement Staff):**

1. Open the Google Play Store on your Android handheld device.
2. Search for and download **WifiAnalyzer (OpenSource)** by VREM Software Group. This is a free utility application.

## Using this Feature

Administrators and staff can use this application to take a precise measurement of their Wi-Fi strength and identify the source channel.

1. Open the **WifiAnalyzer** application on your device.
2. Tap the **menu icon** (three parallel lines) located at the top left of the screen to open the main menu.
3. Tap **Access Points** to view a detailed list of available networks and their current signal strengths.
4. Tap **Channel Graph** to view a visual representation of channel congestion and overlapping network signals.

### Visual Cues and Status Indicators

- **Signal Strength Graph:** The signal strength is visually represented as a column of color rising from the bottom of the graph, typically ranging from -100 dBm to -20 dBm.
- **Reading dBm Values:** Correction note: Signal strength is measured in negative decibel-milliwatts (dBm). Because these are negative numbers, a value closer to zero (e.g., -20 dBm) indicates a much **stronger** and better signal, whereas a lower number (e.g., -100 dBm) indicates a very **weak** signal.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Monitor throughout the day:** **It is highly recommended to monitor the connection periodically throughout the day.** Wi-Fi environments fluctuate, and observing how much the signal goes up and down can help pinpoint exactly when and why connectivity drops occur.</span>
- <span style="color: rgb(22, 145, 121);">**Check channel congestion:** **Pay close attention to how many devices or networks are broadcasting on the exact same channel.** Too many devices trying to access the same channel simultaneously will create interference and have a severe adverse effect on your connectivity strength.</span>
- <span style="color: rgb(22, 145, 121);">**Capture data for support:** **Please provide screen captures of both the Access Points and Channel Graph screens when contacting support.** Having a visual record of the exact dBm reading for your Wi-Fi source and the channel congestion allows the OPSCOM support team to assist you much more effectively.</span>

<div class="columnLayout single" data-layout="single" id="bkmrk--2"></div>

# Weak Wi-Fi and it's effects

<p class="callout info">The How weak Wi-Fi can affect OPSCOM guide outlines how network connectivity impacts the application. Its primary purpose is to help administrators and field officers troubleshoot Wi-Fi issues, understand how data synchronizes, and ensure offline records are properly uploaded to the main server. This article is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

Data synchronization occurs natively within the application, but administrators can customize how frequently the device attempts to auto-sync when idle.

**Admin Side:** Administrators or supervisors can adjust the idle Auto-Sync time interval (or disable it entirely) by accessing the **System Settings** menu on the handheld device.

**User Side (Enforcement Staff):** Officers must ensure the device's Wi-Fi receiver is turned on a<span class="citation-4346 citation-4347 citation-end-4347">nd connected to a reliable network when starting a shift, or when returning to a dispatch area to upload offline data.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-4346 citation-end-4346"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

## <span class="citation-4344 citation-4345 citation-end-4345">Using this Feature<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-4344 citation-end-4344"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

<span class="citation-4342 citation-4343 citation-end-4343">Enforcement personnel do not need a constant connection to issue violations, but they must interact with the application's synchronization tools to push that data to the main database.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-4342 citation-end-4342"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

### <span class="citation-4341 citation-end-4341">Testing Connectivity in the Field<sup class="superscript embedded" data-turn-source-index="7"></sup></span>

<span class="citation-4340 citation-end-4340">If you suspect you have lost yo<sup class="superscript embedded" data-turn-source-index="8"></sup></span>ur Wi-Fi connection while on patrol:

1. Open the native web browser on your tablet device.
2. Attempt to load any standard public web page. If the browser cannot connect to the website, the device does not have sufficient signal strength to connect with the OPSCOM server.

### Manually Synchronizing Data

When you return to an area with known Wi-Fi coverage (like the main office or a connected vehicle), you can manually push your offline data.

1. Tap **Synchronize Data** from the main menu of the OPSCOM application. The synchronization process will begin immediately.

### Understanding Auto-Sync

The application is designed to automatically sync in three specific instances to protect your data:

- **Startup:** A sync is performed automatically when the app is launched, provided you have connectivity. *(Note: If you have poor connectivity upon startup, the app will display an error and will not allow you to log in).*
- **Logout:** The unit will run a final auto-sync when you use the formal logout button.
- **Idle:** The unit will auto-sync when the device has been completely idle for the duration specified in the system settings.

<p class="callout info">**Idle Timer Behavior** The idle Auto-Sync is a precaution to ensure syncing happens when an officer has not manually synced in a while. If your idle setting is 15 minutes, the unit must remain completely untouched for 15 minutes. If the tablet is used for any task during that time, the 15-minute timer restarts.</p>

### Visual Cues and Status Indicators

- **Data Available Warning:** When offlin<span class="citation-4339">e data is waiting to be uploaded, a red flashing message will appear at the top of the screen indicating </span>**<span class="citation-4339">Data available to sync:</span>**<span class="citation-4339 citation-end-4339"> followed by the number of violations and vehicles stored locally.<sup class="superscript embedded" data-turn-source-index="9"></sup></span>
- **<span class="citation-4338 citation-end-4338">Sync Succ<sup class="superscript embedded" data-turn-source-index="10"></sup></span>essful:** Once a proper sync has occurred and all data is transferred to the main server, the red data available warning will disappear from the screen.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Understand environmental signal interfer<span class="citation-4336 citation-4337">ence:</span>** **<span class="citation-4336 citation-4337">Be aware that structural objects, concrete, brick, and load-bearing walls severely affect signal strength.</span>**<span class="citation-4336 citation-4337 citation-end-4337"> Keep this in mind if patrolling interiors such as parking garages or underground levels, as you will likely lose connection and need to sync later.<sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-4336 citation-end-4336"><sup class="superscript embedded" data-turn-source-index="12"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-4334 citation-4335 citation-end-4335">Perform an end<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-4334">-of-shift sync:</span>** **<span class="citation-4334 citation-end-4334">Al<sup class="superscript embedded" data-turn-source-index="14"></sup></span>ways return to the main menu and allow a sync, or f<span class="citation-4333">orce a manual sync, before logging out for the day at the end of your shift.</span>**<span class="citation-4333 citation-end-4333"> This guarantees all field data is securely uploaded.<sup class="superscript embedded" data-turn-source-index="15"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-4332">Log out properly:</span>** **<span class="citation-4332 citation-end-4332">Do not simply put the app in the background, close it from the recent apps<sup class="superscript embedded" data-turn-source-index="16"></sup></span> menu, or power off the unit while it is running.** You must log out of the application properly using the interface to trigger the final logout auto-sync.</span>
- <span style="color: rgb(22, 145, 121);">**Consider electrical interference:** **Be aware that device<span class="citation-4330 citation-4331">s operating on the 2.4GHz frequency (such as certain appliances and older electronics) can interfere with Wi-Fi signals.</span>**<span class="citation-4330 citation-4331 citation-end-4331"> While not the most common cause of complete signal loss, it is worth considering if you repeatedly fa<sup class="superscript embedded" data-turn-source-index="17"></sup></span></span><span class="citation-4330 citation-end-4330"><span style="color: rgb(22, 145, 121);">il to sync in a specific indoor location.</span><sup class="superscript embedded" data-turn-source-index="18"></sup></span>

<p class="callout success">**<span class="citation-4328 citation-end-4328">Don't Panic!<sup class="superscript embedded" data-turn-source-index="20"></sup></span>** <span class="citation-4327 citation-end-4327">If y<sup class="superscript embedded" data-turn-source-index="21"></sup></span>ou cannot sy<span class="citation-4325 citation-4326 citation-end-4326">nc immediately due to a dead zone, it is not a critical issue. The OPSCOM app is designed to store your work locally. As long as you perform a manual sync when you return to an area with better connectivity, your da<sup class="superscript embedded" data-turn-source-index="22"></sup></span><span class="citation-4325 citation-end-4325">ta is saf<sup class="superscript embedded" data-turn-source-index="23"></sup></span><span class="citation-4324 citation-end-4324">e.</span></p>

# Working in Varying Lighting

<p class="callout info">The Working in Low and Bright Light guide outlines how to manage device screen brightness and optimize camera settings for nighttime patrols. Its primary purpose is to ensure field officers can operate their handheld units comfortably without eye strain and capture clear violation photos regardless of ambient lighting conditions. This article is intended for OPSCOM administrators and field enforcement personnel using the Enforce application.</p>

## Setup and Configuration

Managing light settings is performed directly on the mobile device operati<span class="citation-5190 citation-5191 citation-end-5191">ng system and native camera application. It does not require any backend adjustments within the OPSCOM administrative portal.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-5190 citation-end-5190"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-5188 citation-5189 citation-end-5189">Admin Side: <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-5188 citation-end-5188"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-5186 citation-5187 citation-end-5187">No specific configuration is required within the administrative portal.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-5186 citation-end-5186"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-5184 citation-5185 citation-end-5185">User Side: <sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-5184 citation-end-5184"><sup class="superscript embedded" data-turn-source-index="8"></sup></span>**<span class="citation-5182 citation-5183 citation-end-5183">Enforcement officers must familiarize themselves with their speci<sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-5182 citation-end-5182">fic device's quick settings shade and native camera application preferences to make on-the-fly adjustments during their shift.<sup class="superscript embedded" data-turn-source-index="10"></sup></span>

## <span class="citation-5181 citation-end-5181">Using this F<sup class="superscript embedded" data-turn-source-index="11"></sup></span>eature

Field personnel can quickly adjust their screen brightness for viewing comfort and modify camera settings to ensure optimal photo evidence collection in low-light environments.

### Adjusting Screen Brightness

1. Swipe down from the top edge of the device screen to reveal the quick settings menu.
2. Drag the bri<span class="citation-5180 citation-end-5180">ghtness slider left to manually dim the screen for low-light conditions, or right to increase brightness for daylight visibility.<sup class="superscript embedded" data-turn-source-index="12"></sup></span>
3. <span class="citation-5179">Tap the </span>**<span class="citation-5179">Auto</span>**<span class="citation-5179 citation-end-5179"> checkbox (or equivalent auto-brightness toggle) to allo<sup class="superscript embedded" data-turn-source-index="13"></sup></span>w the device to dynamically adjust the screen brightness based on available ambient light.

### Taking Photos at Night

To capture the highest quality photo evidence when working with the camera flash in low-light situations, adjust the native camera settings:

1. Open your device's native camera settings menu.
2. Select **Matrix** for the metering option (rather than a centered reading).
3. Set the flash option to **Always On**.
4. Enable the **Low Light Detection** option if your device supports it.

<p class="callout info">**Brightness Overrides** Depending on the manufacturer, some Android handheld units feature a specialized brightness override within the camera settings. Enabling this can significantly improve image processing, yielding much better evidentiary photos during night patrols.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Utilize auto-brightness:** **Enable auto-brightness to preserve battery life.** Manually leaving the screen at maximum brightness during a full shift will rapidly drain the device battery. Allowing the system to manage brightness autom<span class="citation-5178 citation-end-5178">atically ensures optimal visibility while conserving power.<sup class="superscript embedded" data-turn-source-index="14"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-5177">Test your camera configurations:</span>** **<span class="citation-5177">Always take a few test photos in your patrol environment after modifying camera settings.</span>**<span class="citation-5177 citation-end-5177"> Because native camera applications vary heavily between different </span>tablet manufacturers, taking test shots ensures yo<span class="citation-5175 citation-5176 citation-end-5176">ur matrix metering and flash settings are producing clear, legible license plate captures before you begin issuing active violations.</span></span>

# Best Practices (Enforce)

<p class="callout info">The Best Practices guide outlines the recommended daily maintenance routines for field enforcement handhelds. Its primary purpose is to ensure devices remain connected, up-to-date, and synchronized with the core database for optimal performance in the field. This article is intended for OPS-COM administrators and field enforcement personnel using the Enforce application.</p>

## Setup and Configuration

Maintaining the handheld devices requires minimal backend configuration, but relies on consistent network availability.

**Adm<span class="citation-3944">in Side: </span>**<span class="citation-3944 citation-end-3944"><sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-3943">Administrators should ensure devices are properly provisioned with **Apple Store or** </span>**<span class="citation-3943">Play Store</span>**<span class="citation-3943 citation-end-3943"> access so they can receive regular application updates.<sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-3942 citation-end-3942">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="3"></sup></span>**<span class="citation-3941 citation-end-3941">Enforcement officers must ensure their device has an active internet connection (Wi-Fi or cellular data) to successfully download updates and synchronize enforcement data.<sup class="superscript embedded" data-turn-source-index="4"></sup></span>

## <span class="citation-3940 citation-end-3940">Using this Feature<sup class="superscript embedded" data-turn-source-index="5"></sup></span>

<span class="citation-3939 citation-end-3939">E<sup class="superscript embedded" data-turn-source-index="6"></sup></span>nforcement personnel should regularly interact with the device's update and synchronization features to maintain system health.

### Updating the Application

1. Tap the **Play Store/Apple Store** app on your handheld device to open it.
2. Search for **OPSCOM** using the search bar.
3. Tap the red and black **OPSCOM Enforce** application icon from the search results.
4. Tap the **Update** button if there is a new version available.

<p class="callout info">**Application Closure Required** Prior to tapping the update button in the store, verify that you have fully closed the active OPSCOM application running in the background.</p>

### Synchronizing Data

1. Verify the tablet is in an area with a stable internet connection.
2. Tap **Synchronize Data** from the main menu to force the tablet to sync all local data with the main database immediately.

### Visual Cues and Status Indicators

When patrolling, monitor the top left panel of the Search pages to verify your **Database Connection State**:

- **Green Dot:** Indicates a healthy, active connection to the live database systems.
- **Orange Dot:** Indicates that the system has lost its live connection but is currently operating on cached data. The system is still fully usable, but if the orange dot remains for an extended period, it is best to restart the application to reset the network connections.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Reset handheld units daily:** **It is highly recommended to restart all handheld units before each shift.** Resetting the unit refreshes network connections and allows any pending auto-updates to be installed. If the<span class="citation-3938 citation-end-3938"> app is left running indefinitely, the system cannot auto-update, and you will miss out on recent changes.<sup class="superscript embedded" data-turn-source-index="7"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3937">Kill background applications entirely:</span>** **<span class="citation-3937 citation-end-3937">Make sure to completely shut down the app, rather than simply minimizing or switching away from it at the end of your shift.<sup class="superscript embedded" data-turn-source-index="8"></sup></span>** To swipe the app out of memory, access the Recent Apps screen.</span>
- <span style="color: rgb(22, 145, 121);">**Clear the application c<span class="citation-3935 citation-3936">ache for persistent issues:</span>** **<span class="citation-3935 citation-3936">If connection or performance issues persist even after restarting the app, try refreshing the app's cache</span>**<span class="citation-3935 citation-3936 citation-end-3936"> through your device's native settings menu.<sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-3935 citation-end-3935"><sup class="superscript embedded" data-turn-source-index="10"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3933 citation-3934">Check your version frequently:</span>** **<span class="citation-3933 citation-3934 citation-end-3934">It is important to<sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-3933 citation-end-3933"> always ru<sup class="superscript embedded" data-turn-source-index="12"></sup></span><span class="citation-3932">n the latest version of OPSCOM Parking Enforcement.</span>**<span class="citation-3932 citation-end-3932"> Regularly checking the Play Store for updates prevents unexpected bugs and ensures you have access to the latest field features.</span></span>

# Handheld Information & Troubleshooting

# Locate Application Version (OPSCOM Enforce App)

<p class="callout info"><span data-colorid="sx8f4177x2">The Locate OPSCOM Enforce App Version guide details how to easily find the current software version and unique handheld identifier for your mobile enforcement device. Its primary purpose is to help administrators and enforcement staff quickly verify that their handhelds are running the most up-to-date software, which is critical for troubleshooting and system compatibility. This article is intended for OPSCOM administrators and enforcement personnel.</span></p>

## Setup and Configuration

To ensure your enforcement device is running correctly, staff must download and maintain the application via official app stores.

**User Side (Enforcement Staff):**

1. Open the Apple App Store or Google Play Store on your handheld device.
2. Search for the **OPSCOM Enforce** application.
3. **Tap** the application to view its store details.
4. **Tap** the **Update** button if it is visible. If the button displays as **Install** or **Open**, you are either installing it for the first time or already running the latest available store version.

## Using this Feature

Finding the version details does not require logging into the application, making it easily accessible for quick reference.

### Locating the Version Details

1. Open the **OPSCOM Enforce** app on your handheld device.
2. Remain on the initial Login Screen.
3. Look directly below the **LOGIN** button and the username/password fields to find the system details block.

### Key Information Displayed

- **Handheld Identifier:** A unique alphanumeric string (e.g., cfc6e8847133ab9e) located immediately below the **LOGIN** button that identifies your specific physical device.
- **Application Version:** The current build of the app installed on the device (e.g., 13.7.291222).
- **Database Version (DB):** The current version of the local database schema (e.g., v240610).

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Keep devices updated:** **Regularly check the app store to ensure enforcement handhelds are running the latest version of the application.** Running outdated versions can lead to synchronization errors, connectivity drops, or missing features in the field.</span>
- <span style="color: rgb(22, 145, 121);">**Provide details for support:** **Always provide the Application Version and Handheld Identifier when submitting support tickets.** This specific information allows the OPSCOM support team to accurately diagnose device-specific issues much more efficiently.</span>

<p class="callout info">This administrative article is currently slated to be combined with a broader handheld troubleshooting guide in a future documentation update to centralize enforcement app resources.</p>

# Ionic - Handheld Training (Coming Soon)

<p class="callout info">This article will provide comprehensive training materials, including slide presentations and video tutorials, for the OPSCOM Ionic handheld application. These resources are designed to help OPSCOM administrators and enforcement personnel effectively navigate, configure, and utilize the new handheld interface in the field.</p>

## Setup and Configuration

The training materials are currently added here. This section provides instructions on how administrators can access, download, and distribute the slideshows and video content to their enforcement teams.

## Using this Feature

When new training resources are made available, they will be organized below:

**Training Videos:** Video tutorials demonstrating key actions within the application are linked here below. These videos provide visual guidance on standard handheld interactions, such as how to **Tap** to select items, **Double Tap** to trigger specific actions, and **Tap and Hold** to reveal drop-down menus or popup information boxes.

---

### <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Check Back Regularly:** We recommend bookmarking this page or tracking its revisions to stay informed when the new training slideshows and videos are uploaded.</span>
- <span style="color: rgb(22, 145, 121);">**Familiarize with Hardware:** Ensure your enforcement staff is familiar with the basic operation of the handheld devices themselves.</span>
- <span style="color: rgb(22, 145, 121);">**Verify Device Readiness:** Ensure all field devices are fully updated and meet the necessary requirements to run the Ionic application prior to beginning formal training.</span>

---

### Related Videos

Access the full playlist here: [Handheld Training](https://www.youtube.com/playlist?list=PLh-g-lutOq9pDRYFrDPa86iwoSTPbUpBT)

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/ZeokhuGDwKA?list=PLh-g-lutOq9pDRYFrDPa86iwoSTPbUpBT&index=7" width="560"></iframe>

# Plate Capture using Hand Held

<p class="callout info">The Plate Capture feature utilizes Optical Character Recognition (OCR) to allow parking enforcement officers to search vehicle license plates using the camera on their mobile device. Its primary purpose is to expedite the vehicle lookup process in the field, reducing manual entry errors and streamlining ticketing workflows. This guide is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

The plate capture functionality is built natively into the OPSCOM enforcement application and requires minimal initial setup.

**Admin Side:**

1. Open the OPSCOM Enforce app on your handheld device.
2. Tap **Search Vehicles**.
3. Tap the **camera** icon.
4. Grant the requested device permissions to allow the application access to your camera (this notification will only pop up during the initial use).

## Using this Feature

Enforcement personnel can use the OCR scanner to quickly look up vehicles instead of typing out plate numbers on the digital keypad.

### Capturing a License Plate

1. Open the **[Vehicle Search](https://opscom.wiki/books/opscom-enforce-ios-android/page/search-vehicles-opscom-enforce-app)** page in the handheld application.
2. Tap the **camera** icon to activate the scanner.
3. Position the device so the license plate is aligned directly within the green box located in the middle of the screen's field of view.
4. Tap and Hold the screen for 3 seconds to capture the image and save the read.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Isolate the primary plate characters:** **Ensure only the core plate number is captured within the alignment box.** Avoid capturing extraneous text on the license plate, such as the state, province, or jurisdictional mottos. If the camera captures header text (e.g., "Indiana" or "Ontario"), the read will likely be unsuccessful or inaccurate.</span>
- <span style="color: rgb(22, 145, 121);">**Provide appropriate camera permissions:** **Make sure to allow access to the device's camera when prompted.** If permissions are accidentally denied, the OCR feature will fail to launch, and field personnel will be forced to use manual text entry until permissions are restored in the device settings.</span>
- <span style="color: rgb(22, 145, 121);">**Maintain optimal lighting and distance:** **For the most accurate reads, hold the device steady, avoid severe glare, and ensure the entire plate cleanly fills the green bounding box without cutting off any alphanumeric characters.**</span>

<p class="callout success">**Check your scan results:** If the search returns an incorrect plate or a "Not Found" error due to dirt, shadows, or a complex plate background, simply reposition your camera to exclude any small text and Tap and Hold to try the scan again.</p>

# Handheld App Log

<p class="callout info">The Handheld Operation Log feature allows the mobile device to record and store data regarding the operations and functions performed on the enforcement unit. Its primary purpose is to help identify and troubleshoot technical issues by providing detailed diagnostic information directly to the support team. This article is intended for OPSCOM administrators and field enforcement personnel using the Enforce application.</p>

## Setup and Configuration

The operation logging feature runs automatically in the background of the han<span class="citation-311 citation-end-311">dheld application and requires no specialized backend configuration.<sup class="superscript embedded" data-turn-source-index="1"></sup></span>

**<span class="citation-310 citation-end-310">Admin Side: <sup class="superscript embedded" data-turn-source-index="2"></sup></span><span class="citation-308 citation-end-308"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-307 citation-end-307">Ensure the handheld device is connected to a network and synchronizing regularly to allow for automatic log uploads.<sup class="superscript embedded" data-turn-source-index="5"></sup></span>

## <span class="citation-306 citation-end-306">Using this Feature<sup class="superscript embedded" data-turn-source-index="6"></sup></span>

<span class="citation-305">When technical issues arise, </span>[<span class="citation-305">OPS-COM Support</span>](https://support.ops-com.com/)<span class="citation-305 citation-end-305"> personnel may request that you manually<sup class="superscript embedded" data-turn-source-index="7"></sup></span> send a log file to them. Administrators and field staff can send, view, or extract these logs using the following methods.

### Viewing Logs via the Troubleshooting Panel

If you need to quickly review the recent log entries without sending them:

1. Navigate to the main menu.
2. Tap **Troubleshooting** which brings you to select a tool
3. Select **App Logs** to view data

Once in the **App Logs** page you can scroll through recent logs and changes as well as a few other options.

<p class="callout info">**Available Actions:** At the top of the page there are three buttons: **Copy, Refresh** and **Exit(X).** Below the **X** there is the option to **"Upload Now"** and to the right is a notice of when the data was last uploaded. The last available action is the drop-down menu to select what data to show/search through by date, time and upload. </p>

### Extracting Logs via USB

If the device is complet<span class="citation-300 citation-end-300">ely offline and cannot transmit the log via the application, it can be extracted manually.<sup class="superscript embedded" data-turn-source-index="12"></sup></span>

1. <span class="citation-299 citation-end-299">Connect the handheld device to a computer using a USB cable or a wireless file transfer application.<sup class="superscript embedded" data-turn-source-index="13"></sup></span>
2. <span class="citation-298 citation-end-298">Navigate the internal stora<sup class="superscript embedded" data-turn-source-index="14"></sup></span>ge to locate the OPSCOM application folder.
3. Copy the specific log file to your computer.
4. Attach the copied file to an email and send it directly to your support representative.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Coordinate with support:** **Only manually push logs or extract them via USB when explicitly requested by [OPS-COM Support](https://support.ops-com.com/) personnel.** Unsolicited log files without an associated support ticket may not be reviewed.</span>
- <span style="color: rgb(22, 145, 121);">**Maintain device connectivity:** **Ensure field devices are brought online and synchronized regularly.** Regular synchronization prevents the local storage from filling up and ensures support has access to recent data if an issue occurs.</span>

<p class="callout info">**Automatic Log Uploads** Log files are natively designed to automatically upload to the OPSCOM server for review once they are more than one day old. For example, logs created on Monday will automatically upload to the server on Tuesday around midnight, assuming the handheld is onlin<span class="citation-297 citation-end-297">e and performs a successful synchronization at some point after the 24-hour mark.<sup class="superscript embedded" data-turn-source-index="15"></sup></span></p>

# Replication Status (Enforce)

<p class="callout info">The Replication Status screen within the OPSCOM Enforce App displays the synchronization state of all local database tables against the central server. Its primary purpose is to help identify connectivity issues and allow users to manually manage data synchronization when necessary. This article is intended for OPSCOM administrators and field enforcement staff.</p>

## Setup and Configuration

The Replication Status feature is built natively into the application and does not require backend configuration.

**Admin Side:** Staff must have the OPSCOM Enforce app installed on their handheld device and be logged in to view the local database tables.

## Using this Feature

Enforcement personnel can use this feature to check the health of their connection and manually force data pushes if records are failing to upload automatically.

### Viewing System Status

1. **Tap** the **Replication Status** option from the main application menu.
2. Review the list of database tables on the **Record Counts and Data Table Tools** screen.

### Visual Cues and Status Indicators

The following icons are used to clearly indicate the synchronization status of each individual table:

- **Green Checkmark:** Table data is successfully synchronized with the server.
- **Red X:** Table data is NOT synchronized with the server.
- **Blue Exclamation Point:** There is currently no table data that needs to be synchronized between the handheld and the server.

<p class="callout info">**During normal use (i.e., when actively issuing violations), it is completely expected that tables like VehicleTransfer and ViolationsTransfer may temporarily display a Red X.** This simply indicates that new data has been captured on your local device and is waiting in the queue to be synced to the server.</p>

### Replication Actions (Table-Specific)

You can perform targeted actions on individual tables if they are stuck or experiencing issues.

1. **Tap and Hold** an individual table to open a pop-up message with additional options.
2. **Tap** one of the following actions:
    
    
    - **Push table data to the server:** This will attempt to manually upload the local device's table data to the server. This is generally safe to do, as nothing is overwritten or removed.
    - **Rebuild and retrieve table data:** This option will permanently delete the local table data and retrieve the newest available data from the server.
    - **Delete local table data:** This will permanently delete the local table data but has no effect on the server.
    - **Email debug details to Tomahawk:** This will send an email log file to OPSCOM support containing helpful information for troubleshooting issues.

<p class="callout warning">**Never select the rebuild or delete functions unless explicitly instructed by OPSCOM Support.** Doing so can result in the permanent loss of violations or vehicle data that has not yet been synchronized to the server.</p>

### Replication Options (System-Wide)

There are additional system-wide options available to manage the entire database at once.

1. **Tap** the **Options** icon (menu button) located in the top right-hand corner of the screen.
2. **Tap** one of the following actions:
    
    
    - **Rebuild database:** This will delete ALL local table data across the entire device.
    - **Synchronize all:** The device will attempt to safely synchronize ALL table data with the server.
    - **Send config to Tomahawk:** This will send a comprehensive email log file to support for debugging.
    - **Download new config:** The device will re-download all relevant system settings (e.g., organization details, device name, ticket footer) on the next startup.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Rely on standard login for synchronization:** **If your unit is working correctly, none of these manual options should be necessary.** We highly recommend simply logging out and logging back into the application as needed, which acts as a safe, natural trigger for proper synchronization.</span>
- <span style="color: rgb(22, 145, 121);">**Communicate before sending logs:** **If you need to use the Email debug details option, please notify the OPSCOM support team first if possible**, or only select it when actively requested by a support technician.</span>
- <span style="color: rgb(22, 145, 121);">**Verify synchronization before any rebuilds:** **If you are instructed to rebuild your database, always ensure you have attempted to push table data to the server first.** Verify that all tables marked with a **Red X** are cleared to prevent catastrophic data loss.</span>

# Ionic - Search Vehicles

# Search Vehicles - OPSCOM Enforce App

<p class="callout info">The **Search Vehicles** function on the OPSCOM enforcement application is the primary tool for field personnel to look up vehicle information by license plate or VIN, verify parking permit status, and initiate enforcement actions. Its primary purpose is to allow enforcement officers to quickly retrieve actionable vehicle data in the field. This guide is intended for operators of OPSCOM handheld units.</p>

## Setup and Configuration

The Vehicle Search function is a core, native component of the handheld application and does not require any special administrative configuration or backend setup to function.

**Admin Side:** No setup is required. Simply ensure your device is actively connected to a network to receive real-time data, though offline cached searches are supported.

<p class="callout info">**Visual Cues and Status Indicators** A colored dot at the top of the search panel indicates the device's current connection status: **Green Dot:** The unit is actively connected to Wi-Fi or a cellular network (3G/LTE). **Yellow Dot:** The unit is not connected. Searches can still be performed using cached data, but the information may not be real-time.</p>

## Using this Feature

Enforcement personnel can use this feature to query vehicles using manual text entry, voice commands, or the device's camera for optical character recognition.

### Performing a Vehicle Search

Tap **Vehicle Search** from the main menu and use one of the three methods below to enter vehicle information.

1. Select a **Parking Lot Group** in the drop-down menu
2. Select a **Parking Zone** in the drop-down menu

**Text Search**

1. Tap the text field on the Vehicle Search screen to activate the on-screen keypad.
2. Enter the full license plate number or Vehicle Identification Number (VIN).
3. Tap the **Search** button.

**Voice Search**

1. Tap the **microphone** icon to activate the voice recognition feature.
2. Clearly speak the license plate number when the prompt appears. The system will transcribe the speech directly into the search field.
3. Tap the **Search** button.

**LPR and OCR Camera Search**

1. Tap the **camera** icon to enter License Plate Recognition (LPR) search mode.
2. Position the device's camera so the vehicle's license plate is aligned within the on-screen rectangle.
3. Tap and Hold the screen to capture an image of the plate.
4. Tap the correct plate number from the resulting list of possibilities to initiate the search.

### Reviewing Search Results

After a successful search, the vehicle and permit details will appear below the search area. Tapping on the vehicle record expands a yellow ribbon, revealing available actions for that specific vehicle. You can also tap directly on the permit information displayed under the license plate for a quick view of its expiry details.

### Available Actions and Buttons

- **Virtual Chalk:** Tap this button to apply a virtual chalk to the vehicle, logging its current location and time for time-limit enforcement.
- **Issue Violation:** Tap this button to proceed directly to the violation issuance screen for this specific vehicle.
- **Details:** Tap this button to view a comprehensive sc<span class="citation-851 citation-end-851">reen displaying all permit and vehicle details.</span>

---

## <span class="citation-850 citation-end-850" style="color: rgb(22, 145, 121);">Best Practices and Considerations<sup class="superscript embedded" data-turn-source-index="2"></sup></span>

## <span style="color: rgb(22, 145, 121);"></span>

- <span style="color: rgb(22, 145, 121);">**<span class="citation-849">Connect to a network when possible:</span>** **<span class="citation-849 citation-end-849">While offline searches are possible thanks to the device's data cache, always connect to <sup class="superscript embedded" data-turn-source-index="3"></sup></span>a network when possible.** This ensures you are working with the most current, real-time permit and violation data.</span>
- <span style="color: rgb(22, 145, 121);">**Optimize your camera scans:** **For best results with the LPR <span class="citation-847 citation-848">and OCR camera search, ensure the license plate is well-lit, clean, and fills as much of the alignment rectangle as possible.</span>**<span class="citation-847 citation-848 citation-end-848"><sup class="superscript embedded" data-turn-source-index="4"></sup></span><span class="citation-847 citation-end-847"><sup class="superscript embedded" data-turn-source-index="5"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-845 citation-846">Reduce audio interference:</span>** **<span class="citation-845 citation-846 citation-end-846">For the most accurate voice search results, speak clearly in an environment with minimal ba<sup class="superscript embedded" data-turn-source-index="6"></sup></span><span class="citation-845 citation-end-845"><sup class="superscript embedded" data-turn-source-index="7"></sup></span>ckground noise.**</span>

# Search Vehicle Results - OPSCOM Enforce App

<p class="callout info">The Search Vehicle Results screen allows field personnel to interpret the information returned after looking up a specific vehicle. Its primary purpose is to help officers verify parking rights, review a vehicle's history, and make informed enforcement decisions directly in the field. This guide is intended for personnel using OPS-COM Android handheld units.</p>

## Setup and Configuration

While the handheld results screen requires no configuration for the end-user, administrators control how much historical violation data is sent to the devices.

**Admin Side:**

1. Hover over **System Configuration** and click **System Settings**.
2. Click the **Violations** tab.
3. Locate the **Violation History on Handhelds** setting.
4. Set the desired date range (e.g., 6 months or 12 months) to limit how far back the visible violation list goes on the handheld devices.

## Using this Feature

After performing a vehicle search, the application presents detailed information in a multi-layered interface, starting with a high-level summary and allowing you to drill down into specific details.

### Results Summary

Immediately after a successful search, a list of potential plate matches is shown while a summary for the vehicles is displayed.

- **Key Information Displayed:** The license plate, Province/State, and the type of vehicle (e.g., passenger, commercial).

### Quick Actions (More Details)

Tap the vehicle record in the results list to expand the **More Details** section. This reveals further information on the make, model, color of the car (if available), details on the violation history, and a set of quick action buttons.

- **Chalk:** Tap this button to instantly initiate the Virtual Chalking workflow for time-limit enforcement.
- **Violation:** Tap this button to proceed directly to the Issuing a Violation screen for the selected vehicle.
- **Details:** Tap this button to open a comprehensive screen containing the vehicle's complete history.

### The Details Screen

Tap the **Details** button for a complete overview of a vehicle's record. This screen is the central hub for all historical data related to a vehicle in the system and is organized into three distinct tabs.

**Current Permits Tab**

- **Key Information Displayed:** A complete list of all current permits associated with the license plate. Each entry provides key information such as the permit type, its validity period (start and end dates), and the specific lots where it is valid.

**Violations Tab**

- **Key Information Displayed:** A historical log of all violations previously issued to the vehicle. For each entry, you can review the violation date, type of infraction, and its current status (e.g., paid, outstanding).
- **All-Time Violations:** This count includes every non-spoiled violation the vehic<span class="citation-884 citation-end-884">le has ever received (Total Paid, Unpaid, and Warnings). This all-time total may be higher than the actual list of violations visible on the page because the list is filtered by the administrative history setting, while this s<sup class="superscript embedded" data-turn-source-index="1"></sup></span>ummary counts absolutely everything.
- **History Period Violations:** This count only includes violations that occurred within the date range set by your administrator. This ensures officers apply escalation policies correctly (e.g., booting after 3 violations in the last 12 months) without accidentally counting ancient history.

<p class="callout info">The **All-Time Violations** count on the Violations tab will always exactly match the total violation count displayed in the **More Details** section of the main search results screen.</p>

**Recent Chalk Records Tab**

- **Key Information Displayed:** A history of all Virtual Chalking events for the vehicle. It serves as a log to track time-limit enforcement, displaying the date, time, and location of each chalking instance.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Review all tabs:** **Always review all three tabs in the Details screen to get a complete vehicle history before issuing a violation.** A pattern of previous violations or chalks can provide important context for enforcement and escalation.</span>
- <span style="color: rgb(22, 145, 121);">**Check permit validity closely:** **When checking the Current Permits tab, pay close attention to the valid dates and lot assignments for each permit** to ensure the vehicle is compliant at the exact current time and location.</span>
- <span style="color: rgb(22, 145, 121);">**Monitor your connection status:** **Always check the connection dot at the top of the search panel, as the accuracy of the data depends on the device's last synchronization.** A green connection dot indicates you are viewing real-time information, while a yellow dot means you are viewing potentially outdated data from the device's local cache.</span>

# LPR Scanning

<p class="callout info">The LPR Scanning interface provides real-time data and visual cues when using the handheld's License Plate Recognition (LPR) capabilities. Its primary purpose is to help field officers quickly identify vehicles in violation, track chalked vehicles, and effectively monitor their active scanning status during patrols. This article is intended for OPSCOM administrators and field enforcement personnel using the application.</p>

## Setup and Configuration

The LPR scanning interface relies on core system settings established in the <span class="citation-1079 citation-1080 citation-end-1080">backend, but the interface itself is ready to use natively within the app.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-1079 citation-end-1079"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-1077 citation-1078 citation-end-1078">Admin Side: <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-1077 citation-end-1077"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-1075 citation-1076 citation-end-1076">Administrators should ensure that lot grace periods, permit rules, and any vehicles of interest (hotlists) are accurately configured within the core OPSCOM administrative portal, as the handheld relies on this dat<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-1075 citation-end-1075">a to display the correct flags.<sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-1074 citation-end-1074">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="7"></sup></span>**<span class="citation-1073 citation-end-1073">No specific device setup is required. Enforcement officers s<sup class="superscript embedded" data-turn-source-index="8"></sup></span>imply need to log in to the OPSCOM Enforce app and navigate to the LPR scanning section with their device's camera or external LPR hardware active.

## Using this Feature

The LPR screen is designed to present crucia<span class="citation-1071 citation-1072 citation-end-1072">l enforcement data rapidly as the officer moves through a lot.<sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-1071 citation-end-1071"><sup class="superscript embedded" data-turn-source-index="10"></sup></span>

### <span class="citation-1069 citation-1070 citation-end-1070">Key Information Displayed<sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-1069 citation-end-1069"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>

- **<span class="citation-1067 citation-1068">Running Scan Total:</span>**<span class="citation-1067 citation-1068 citation-end-1068"> Located on the right side of the screen, just above the recent read list. This number indicates the to<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-1067 citation-end-1067">tal amount of plate reads success<sup class="superscript embedded" data-turn-source-index="14"></sup></span>fully captured during your current patrol session.
- **Camera Directional Arrow:** An orange arrow displayed beside the plate image indicates exactly which camera (e.g., the right-side camera) captured the recent plate read.

### Visual Cues and Status Indicators

The system uses colored flags to instantly communicate the status of a scanned license plate:

- **Red Flag:** Indicates the scanned p<span class="citation-1066 citation-end-1066">late is currently in violation.<sup class="superscript embedded" data-turn-source-index="15"></sup></span>
- **<span class="citation-1065">Green Flag:</span>**<span class="citation-1065 citation-end-1065"> Indicates the scanned plate holds a valid permit or authorization.<sup class="superscript embedded" data-turn-source-index="16"></sup></span>
- **<span class="citation-1064">Orange Flag:</span>**<span class="citation-1064 citation-end-1064"> Indicates the vehicle has been chalked and is currently still with<sup class="superscript embedded" data-turn-source-index="17"></sup></span>in its allowed grace period.

<p class="callout warning">**If no cameras are configured** to the account and area the **Key Info**, **Visual Cues** and **Status Indicators** like mentioned above will not show up when you open the **LPR Scanning** tab. In the **top right corner** there will be a small message letting you know there are no connected cameras and head to settings to add them. </p>

### Available Actions and Buttons

- **Parking Lot Group/Zone drop-down menu:** Tap these menus to select the group and the parking zone to scan through.
- **<span class="citation-1063">Plates-of-Interest Toggle:</span>**<span class="citation-1063"> Tap this toggle located at the top of the</span><span class="citation-1063 citation-end-1063"> panel to initiate alert-only scanning. Once selected, no standard permit validation will be performed, vehicles will continue to be chalked normally, and loud aler<sup class="superscript embedded" data-turn-source-index="18"></sup></span>t notifications will be presented on the dev<span class="citation-1062 citation-end-1062">ice only if a specific vehicle of interest is seen.<sup class="superscript embedded" data-turn-source-index="19"></sup></span>
- **<span class="citation-1062 citation-end-1062">Plate</span>**<span class="citation-1062 citation-end-1062"> **Entry:** You have two options - Manual Entry and Voice Entry. Either type in the plate or read the plate out loud to be transcribed in order to find all details linked to it in the system.</span>

---

## <span style="color: rgb(22, 145, 121);"><span class="citation-1061 citation-end-1061">Best Practices and Considerations<sup class="superscript embedded" data-turn-source-index="20"></sup></span></span>

- <span style="color: rgb(22, 145, 121);">**<span class="citation-1060">Always resume scanning after edits:</span>** **<span class="citation-1060">Remember to tap the ON button after manually editing a plate read.</span>**<span class="citation-1060 citation-end-1060"> Failing to toggle the scanner back to green me<sup class="superscript embedded" data-turn-source-index="21"></sup></span>ans the system remains in offline mode, and subsequent plates will not be scanned as you continue your patrol.</span>
- <span style="color: rgb(22, 145, 121);">**Utilize alert-only mode for targeted patrols:** **Use the Plates-of-Interest toggle when specifically hunting for scofflaws, stolen vehicles, or banned users**, rather than performing general parking enforcement. This streamlines the patrol process and prevents the officer from being dis</span><span class="citation-1059 citation-end-1059"><span style="color: rgb(22, 145, 121);">tracted by standard permit validation alerts.</span><sup class="superscript embedded" data-turn-source-index="22"></sup></span>

# Incorrect LPR Reads Updating

<p class="callout info">The Incorrect LPR Reads Update process allows officers to manually correct license plate numbers that were misread by the device's camera. Its primary purpose is to ensure accurate enforcement and maintain reliable database records by fixing optical character recognition (OCR) errors directly in the field. This article is intended for OPS-COM administrators and field enforcement personnel usin<span class="citation-1483 citation-1484 citation-end-1484">g the handheld application.</span></p>

## <span class="citation-1481 citation-1482 citation-end-1482">Setup and Configuration<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-1481 citation-end-1481"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

<span class="citation-1479 citation-1480 citation-end-1480">This correction feature is native to the LPR scanning module and does not require any specialized backend setup.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-1479 citation-end-1479"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-1477 citation-1478 citation-end-1478">Admin Side: <sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-1477 citation-end-1477"><sup class="superscript embedded" data-turn-source-index="8"></sup></span><span class="citation-1473 citation-1474 citation-end-1474"><sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-1473 citation-end-1473"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>**<span class="citation-1471 citation-1472 citation-end-1472">Ensure you are logged into the application and actively conducting <sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-1471 citation-end-1471">patrols using the LPR scanning tool.<sup class="superscript embedded" data-turn-source-index="14"></sup></span>

## <span class="citation-1470 citation-end-1470">Using this Feature<sup class="superscript embedded" data-turn-source-index="15"></sup></span>

<span class="citation-1469 citation-end-1469">Enfo<sup class="superscript embedded" data-turn-source-index="16"></sup></span>rcement personnel can seamlessly correct misread plates without having to exit their active patrol session.

### Correcting a Plate Read

1. Tap **LPR Scanning** from the main menu to open the LPR Scanning page.
2. Locate the incorrectly read plate from the active list of plate reads generated during your patrol.
3. Tap the text field of the incorrect plate and manually type the correct alphanumeric characters (e.g., if the camera read VZ7281, but the actual plate is BVZT282, type the missing letters).
4. Tap **Search &amp; Update** to refresh the record and display the updated, correct plate number.
5. Tap the red **OFF** button to toggle it back to the green **ON** state to resume your patrol.

### Visual Cues and Status Indicators

- **Offline Mode Indicator:** The moment you tap into a field to adjust a plate read, the LPR system automatically enters an offline state to prevent the camera from overwriting your work. This is indicated by the main scanning button changing from a green **ON** state to a red **OFF** state.
- **Database Synchronization:** Once you tap **Search &amp; Update**, the correction is not just local to your<span class="citation-1467 citation-1468 citation-end-1468"> screen. The record is immediately updated within the core database to reference the newly corrected plate data.<sup class="superscript embedded" data-turn-source-index="17"></sup></span><span class="citation-1467 citation-end-1467"><sup class="superscript embedded" data-turn-source-index="18"></sup></span>

---

## <span style="color: rgb(22, 145, 121);"><span class="citation-1465 citation-1466 citation-end-1466">Best Practices and Considerations<sup class="superscript embedded" data-turn-source-index="19"></sup></span><span class="citation-1465 citation-end-1465"><sup class="superscript embedded" data-turn-source-index="20"></sup></span></span>

- <span style="color: rgb(22, 145, 121);">**<span class="citation-1463 citation-1464">Always remember to toggle the scanner back to ON after updating a plate.</span>**<span class="citation-1463 citation-1464 citation-end-1464"> If you leave<sup class="superscript embedded" data-turn-source-index="21"></sup></span><span class="citation-1463"> the button in the red </span>**<span class="citation-1463">OFF</span>**<span class="citation-1463 citation-end-1463"> state,<sup class="superscript embedded" data-turn-source-index="22"></sup></span> the system will not capture any subsequent plates as you continue to move through the lot.</span>
- <span style="color: rgb(22, 145, 121);">**Take a moment to verify the physical plate or the captured context image before submitting a fix.** This ensures that you do not accidentally introduce a secondary typo while c</span><span class="citation-1462 citation-end-1462"><span style="color: rgb(22, 145, 121);">orrecting the initial OCR error.</span><sup class="superscript embedded" data-turn-source-index="23"></sup></span>

# Message Alerts Tab

<p class="callout info">The Message Alerts feature provides a centralized communication channel for pushing important news, updates, and urgent notifications directly to patrol officers' handheld devices. Its primary purpose is to help administrators ensure field staff are immediately aware of changing situations, safety notices, or operational directives. This article is intended for OPSCOM administrators and field enforcement personnel using t<span class="citation-1778 citation-1779 citation-end-1779">he application.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-1778 citation-end-1778"><sup class="superscript embedded" data-turn-source-index="2"></sup></span></p>

## <span class="citation-1776 citation-1777 citation-end-1777">Setup and Configuration<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-1776 citation-end-1776"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

<span class="citation-1774 citation-1775 citation-end-1775">The messaging system is native to the application and requires no specialized configuration on the mobile device itself.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-1774 citation-end-1774"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-1772 citation-1773 citation-end-1773">Admin Side: <sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-1772 citation-end-1772"><sup class="superscript embedded" data-turn-source-index="8"></sup></span>**<span class="citation-1770 citation-1771 citation-end-1771">Administrators create and push alert messages to all active un<sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-1770 citation-end-1770">its or individual specific handhelds via the core OPSCOM administrative portal.<sup class="superscript embedded" data-turn-source-index="10"></sup></span>

**<span class="citation-1769 citation-end-1769">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="11"></sup></span>**<span class="citation-1768 citation-end-1768">No setup is required. Enforcement officers simply need to be logged into the handheld </span>application and maintain an active network connection (Wi-Fi or cellular) to receive incoming messages.

## Using this Feature

Enforcement personnel can receive alerts in real-time or review previously sent messages at their convenience through the application interface.

### Reviewing Message Alerts

1. Tap **Message Alerts** from the main menu of the OPSCOM Enforce application to open the message center.
2. Review the list of recent alerts sent to your device.

### Message Notifications

When a new message is pushed to the device, officers are notified through several standard methods even if the app is running in the background:

1. Look at the device's top header bar to see new message icons as they arrive.
2. Swipe down on the header bar to open the notification shade for a quick preview of the alert text.
3. Tap the specific alert notification to automatically open the OPSCOM application and navigate directly to the Message Alert list.

<p class="callout info">**App Icon Badges** If you are on the device's home screen, the OPSCOM application shortcut icon will display a notification badge (a small numbered dot) indicating that you have unread messages waiting.</p>

### Visual Cues and Status Indicators

Alerts are categorized into three distinct types, indicated by color, to help officers instantly gauge the priority of the message:

- **<span style="color: rgb(53, 152, 219);">Blue Alerts</span>:** These alerts are for general informational purposes (e.g., a reminder about an upcoming shift change).
- **<span style="color: rgb(241, 196, 15);">Yellow Alerts</span>:** These alerts are used to inform users of events or situations that should be actively monitored (e.g., a large event causing lot congestion).
- **<span style="color: rgb(224, 62, 45);">Red Alerts</span>:** These alerts are reserved for high-priority situations that require immediate action or response from the officer.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Acknowledge notifications promptly:** **Officers should routinely check their notification shade and the Message Alerts menu while on patrol.** Ensuring timely review of incoming messages is critical, especially when Red Alerts are dispatched for immediate action.</span>
- <span style="color: rgb(22, 145, 121);">**Prevent alert fatigue:** **Administrators should reserve Red Alerts strictly for genuine emergencies or time-sensitive directives.** Overusing the highe<span class="citation-1767 citation-end-1767">st priority alert for standard informational updates can cause officers to become desensitized to actual urgent situations.</span></span>

# Violations View

<p class="callout info">The Violations Tab is a specific section within the *[Search Vehicle Results](https://opscom.wiki/books/opscom-enforce-ios-android/page/search-vehicle-results-opscom-enforce-app "Search Vehicle Results - OPSCOM Enforce App")* screen on the OPSCOM Enforce application. Its primary purpose is to provide field officers with a detailed historical log of all past violations issued to a specific vehicle, assisting them in making informed and escalated enforcement decisions. This article is intended for OPSCOM administrators and field enforcement personnel using the handheld application.</p>

## Setup and Configuration

The Violations Tab automatically retrieves its historical ticket data directly from the central database.

**Admin Side:** No specific configuration i<span class="citation-1971 citation-1972 citation-end-1972">s required on the handheld device. Administrators manage all violation histories, payment statuses, and escalation policies within the core OPSCOM administrative portal.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-1971 citation-end-1971"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-1969 citation-1970 citation-end-1970">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-1969 citation-end-1969"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-1967 citation-1968 citation-end-1968">No specific device setup is required. The historical<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-1967 citation-end-1967"> data populates automatically during vehicle searches, provided the device has a network connection.<sup class="superscript embedded" data-turn-source-index="6"></sup></span>

## <span class="citation-1966 citation-end-1966">Using this Feature<sup class="superscript embedded" data-turn-source-index="7"></sup></span>

<span class="citation-1965 citation-end-1965">Enforcement perso<sup class="superscript embedded" data-turn-source-index="8"></sup></span>nnel use this tab to review a vehicle's citation history and current payment compliance before issuing new tickets.

### Accessing the Violations Tab

1. Perform a plate or VIN query using the **Search Vehicles** function.
2. Tap the specific plate read from the initial search results list .
3. Tap the **Details** tab in the extended plate read menu.
4. Open up the **Violations** section of the **vehicle details** page.

### Key Information Displayed

- **Violation Date/Time:** The exact date and time that the ticket was issued.
- **Violation Number:** The Violation # that was assigned when the ticket was added to the system.
- **Offense Location:** The specific lot or zone where the infraction occurred.
- **Violation Type:** The nature of the offense (e.g., Parked in No Parking Area).
- **History Summary:** A high-level count of the vehicle's past violations (e.g., within the last 18 months), including a breakdown of paid, unpaid, and warning counts.

### Visual Cues and Status Indicators

Each individual violation record features a clear, color-coded status indicator on the right side of the screen denoting the **Payment Status Text**:

- **PAID** (typically displayed in green) indicates the citation has been resolved.
- **UNPAID** (typically displayed in red or orange) indicates there is still an outstanding balance for that specific infraction.
- **CANCELLED** (typically displayed in grey) indicates that the citation is no longer open.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Review unpaid violations before ticketing:** **Always check the Violations tab for a history of unpaid tickets or repeated offenses.** Identifying a pattern of unpaid or frequent violations is critical for enforcing escalation policies, such as initiating a tow or applying a boot.</span>
- <span style="color: rgb(22, 145, 121);">**Ensure data synchronization:** **Always verify your device has an active connection when reviewing violation history.** If your device is operating strictly from its offline cache, recent ticket payments or newly issued citations from other officers may not be immediately reflected on</span><span class="citation-1964 citation-end-1964"><span style="color: rgb(22, 145, 121);"> this tab.</span><sup class="superscript embedded" data-turn-source-index="9"></sup></span>

# Chalking View

<p class="callout info">The Chalks Tab is a dedicated section within the Search Vehicle Results screen on the legacy OPSCOM Parking Enforcement application. Its primary purpose is to display a historical log of virtual chalking events for a specific vehicle, assisting officers in accurately enforcing time-limited parking zones. This article is intended for OPSCOM administrators and field enforcement personnel using the legacy Android application.</p>

## Setup and Configuration

The Chalks Tab automatically compiles its data directly from previous virtual chalking events performed by enforcement officers in the field.

**Admin Side:** No specific configuration is req<span class="citation-2221 citation-2222 citation-end-2222">uired on the handheld device to view this tab. Administrators manage global chalking grace periods and settings within the core OPSCOM administrative portal.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-2221 citation-end-2221"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

## <span class="citation-2216 citation-end-2216">Using this Feature<sup class="superscript embedded" data-turn-source-index="7"></sup></span>

<span class="citation-2215 citation-end-2215">Enforcement <sup class="superscript embedded" data-turn-source-index="8"></sup></span>personnel use this tab to review past chalking records to determine if a vehicle has overstayed its allowed time in a specific location.

### Accessing the Chalks Tab

1. Perform a <span class="citation-2214">plate or VIN query using the </span>**<span class="citation-2214">Search Vehicles</span>**<span class="citation-2214 citation-end-2214"> function.<sup class="superscript embedded" data-turn-source-index="9"></sup></span>
2. <span class="citation-2213 citation-end-2213">Tap the specific plate read from the initial search results list.<sup class="superscript embedded" data-turn-source-index="10"></sup></span>
3. <span class="citation-2212">Tap the </span>**<span class="citation-2212">Details</span>**<span class="citation-2212 citation-end-2212"> button to open the extended vehicle record.<sup class="superscript embedded" data-turn-source-index="11"></sup></span>
4. <span class="citation-2211">Tap the </span>**<span class="citation-2211 citation-end-2211">C<sup class="superscript embedded" data-turn-source-index="12"></sup></span>halks** tab (or swipe left/right across the screen to navigate to it).

### Key Information Displayed

- **Chalk History:** Chalk records are listed chronologically, displaying from the most recent event at the top to the oldest at the bottom.
- **Time Stamp:** The specific date and exact time the chalk event occurred.
- **Map Location:** A visual map snippet illustrates exactly where the vehicle was parked when it was chalked.
- **Chalk Comments:** Any notes or comments entered by the patrol officer at the time of the initial chalking.
- **Distance Calculation:** A distance reading (in meters) indicating exactly how far your present physical position is from the location of the first chalk record.

### Available Actions and Buttons

- **Camera:** Tap the camera icon on a specific chalk record to display the full-size image captured during that initial chalking event.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Review chalk images before ticketing:** **Always tap the camera icon to verify the chalk image is clear and the vehicle has not moved.** Ensuring the evidence is solid and time-stamped correctly is crucial for defending against potential parking appeals.</span>
- <span style="color: rgb(22, 145, 121);">**Leverage chalk comments:** **Encourage officers to add descriptive comments when initially chalking a vehicle.** Notes providing valuable context (e.g., valve stem positions, specific parking bays, or vehicle damage) are highly visible on this tab and can assist the same or other officers upon their return patrol.</span>

# Notifications from Permit Misuse

<p class="callout info">The Permit Misuse Notification feature alerts parking enforcement officers when multiple vehicles sharing the exact same permit are scanned within a specified timeframe. Its primary purpose is to help identify and deter fraudulent permit sharing on-site, ensuring users are not abusing multi-vehicle permit privileges. This article is intended for OPS-COM administrators and field enforcement personnel using the Enforce handheld application.</p>

## Setup and Configuration

This feature is configured directly on the handheld enforcement device. Setting a timer dictates exactly<span class="citation-627 citation-628 citation-end-628"> how long the system remembers the first vehicle's capture before resetting the misuse window.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-627 citation-end-627"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-625 citation-626 citation-end-626">Admin Side: <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-625 citation-end-625"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-623 citation-624 citation-end-624">Administrators or supervisors must configure the specific duration of the misuse timer on the device itself.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-623 citation-end-623"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

1. <span class="citation-621 citation-622">Tap </span>**<span class="citation-621 citation-622">System Settings</span>**<span class="citation-621 citation-622 citation-end-622"> from the main menu o<sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-621 citation-end-621">f the handheld application.<sup class="superscript embedded" data-turn-source-index="8"></sup></span>
2. <span class="citation-620">Scroll to the **Violations and Chalking**</span><span class="citation-620"> section and tap </span>**<span class="citation-620">Permit Misuse Window</span>**<span class="citation-620 citation-end-620">.<sup class="superscript embedded" data-turn-source-index="9"></sup></span>
3. <span class="citation-619">Tap the </span>**<span class="citation-619 citation-end-619">Permit Sharing an<sup class="superscript embedded" data-turn-source-index="10"></sup></span>d Misuse drop-down** menu to open the duration options.
4. Choose the desired length of time (e.g., 1 Hour). Setting this time immediately activates the function.

## Using this Feature

Enforcement personnel do not need to perform any special actions to use this feature; it operates seamlessly alongside standard vehicle searches during an active patrol.

### Triggering a Misuse Alert

1. Perform a standard plate or VIN query using the **Search Vehicles** function while on patrol.
2. Acknowledge any on-screen pop-ups before proceeding with standard enforcement actions.

### Visual Cues and Status Indicators

- **Permit Misuse Alert Popup:** If you search for a vehicle that shares a permit with another vehicle that was recently scanned within the active timer window, a prominent alert will appear directly on the device screen. This immediately notifies the officer of possible permit misuse.

<p class="callout info">**Understanding the Timer Cycle** If your timer is set to one hour, the system will present a warning if the second vehicle is scanned within 60 minutes of the first vehicle's scan. After that hour has passed, the first read is effectively forgotten by the handheld's local cache, and th<span class="citation-618 citation-end-618">e monitoring process starts over.</span></p>

---

## <span style="color: rgb(22, 145, 121);"><span class="citation-617 citation-end-617">Best Practices and Considerations<sup class="superscript embedded" data-turn-source-index="12"></sup></span></span>

- <span style="color: rgb(22, 145, 121);">**<span class="citation-616">Establish a clear enforcement policy:</span>** **<span class="citation-616">Organizations should develop a strict business rule for how officers handle a misuse alert.</span>**<span class="citation-616 citation-end-616"> Officers need clear directives on whether to issue a standar<sup class="superscript embedded" data-turn-source-index="13"></sup></span>d parking violatio<span class="citation-614 citation-615 citation-end-615">n, write a specific permit fraud citation, or attempt to verify the physical presence of both vehicles on-site before ticketing.<sup class="superscript embedded" data-turn-source-index="14"></sup></span><span class="citation-614 citation-end-614"><sup class="superscript embedded" data-turn-source-index="15"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-612 citation-613">Tailor the timer to your environment:</span>** **<span class="citation-612 citation-613">Carefully consider the length of your misuse timer based on your lot turnover and specific permit policies.</span>**<span class="citation-612 citation-613 citation-end-613"> A timer that is too short ma<sup class="superscript embedded" data-turn-source-index="16"></sup></span><span class="citation-612 citation-end-612">y miss abusers <sup class="superscript embedded" data-turn-source-index="17"></sup></span>who stagger their arrival times, while a </span><span class="citation-611 citation-end-611"><span style="color: rgb(22, 145, 121);">timer that is excessively long may capture legitimate instances where family members legally swap parking spots halfway through the day.</span><sup class="superscript embedded" data-turn-source-index="18"></sup></span>

# Violations and Chalking

# Violations and Chalking

<p class="callout info">The Violations and Chalking features in the OPSCOM Enforce app allow field personnel to issue citations directly to individuals or vehicles and utilize virtual chalking for time-limit enforcement. Its primary purpose is to streamline the enforcement process, ensuring accurate data capture and provable offenses without the need for physical chalk. This article is intended for OPSCOM administrators and field enforcement staff.</p>

## Setup and Configuration

While the enforcement application handles the physical issuance of tickets, administrators must ensure the backend environment is properly configured to support field operations.

**Admin Side:**

1. Ensure the default chalking grace periods are properly configured within your system settings.
2. Verify that your ticket types, offense locations, and offense reasons are up to date so they populate correctly on the handheld units.

**User Side (Enforcement Staff):**

1. Open the handheld app and log into an active enforcement account.
2. Ensure your device is connected to a network to receive real-time permit data and user records.

## Using this Feature

Enforcement personnel can use the handheld application to perform virtual chalking and issue violations specifically targeted at a person or an unidentified vehicle.

### Chalking a Vehicle

[Virtual chalking](https://opscom.wiki/books/opscom-enforce-ios-android/page/virtual-chalking-explanation) is a highly useful tool that quickly identifies vehicles eligible for time-limit violations. It alerts you if a vehicle has moved since the last chalk and exactly how long ago it was chalked, making it easy to write provable violations.

1. Tap **Vehicle Search** from the main screen and search for the offending vehicle's plate.
2. Tap **Chalk** on the vehicle record.
3. Enter the plate province/state and plate type (e.g., Passenger, Commercial, Government).
4. Set a custom chalk grace period if desired (the system default will apply automatically if left blank).
5. Tap **Save**. The vehicle's timer has now started, and you can return later to verify if a violation is warranted.

### Issuing a Person Violation

You must know the person's name and ensure they are a registered user in the system to issue a person violation.

1. Tap **Person Search** from the main screen.
2. Enter the name of the registered user and tap their entry when it populates.
3. Select **Private Property - Person** if no vehicle is involved. (If a vehicle is involved, use the Vehicle Violation workflow below).
4. Enter the ticket type, offense location, and the specific offense reason (or reasons, if multiple apply).
5. Attach any necessary files, such as photo or video evidence.
6. Enter private (internal staff only) or public comments (user visible).
7. Tap **Save** to issue the violation.

### Issuing a Vehicle Violation

You can enter a known plate or a plate that has never been entered before; new plates will automatically be added to the vehicle database.

1. Tap **Vehicle Search** from the main screen and search the license plate.
2. Review the search result icons (see the Visual Cues table below) to verify if the vehicle is eligible for a ticket.
3. Tap the **Violation** button.
4. Enter the ticket type, offense location, and the specific offense reason(s).
5. Enter additional vehicle information, such as province/state and plate type.
6. Tap the **Failed To Identify** toggle on the people tab if the driver's identity is unknown. If the identity is known, enter it normally.
7. Attach photo or video evidence and any applicable comments.
8. Tap **Save** to issue the violation.

### Visual Cues and Status Indicators

Searching a plate will return a variety of result types indicating the vehicle's current status. Use the chart below as a reference for the symbols and audio notifications you will encounter:

<table data-path-to-node="23" id="bkmrk-icon-audio-notificat"><thead><tr><td>**Icon**</td><td>**Audio Notification**</td><td>**When/Why Is This Combo Used?**</td></tr></thead><tbody><tr><td><span data-path-to-node="23,1,0,0">**Black Cross**</span></td><td><span data-path-to-node="23,1,1,0">None</span></td><td><span data-path-to-node="23,1,2,0">Plate is not found in the database. Tap to add a new vehicle.</span></td></tr><tr><td><span data-path-to-node="23,2,0,0">**Red X** (with Red permit pill)</span></td><td><span data-path-to-node="23,2,1,0">Buzz</span></td><td><span data-path-to-node="23,2,2,0">Plate found, but has no valid/active permit, or the plate was chalked and the grace period has expired with still no valid permit. **Eligible for violation/ticket.**</span></td></tr><tr><td><span data-path-to-node="23,3,0,0">**Green Check** (with Green permit pill)</span></td><td><span data-path-to-node="23,3,1,0">Bing (LPR)</span></td><td><span data-path-to-node="23,3,2,0">Plate found with at least one valid and active permit, or plate was chalked but a valid permit was added later.</span></td></tr><tr><td><span data-path-to-node="23,4,0,0">**Green Check** (with Red dot)</span></td><td><span data-path-to-node="23,4,1,0">None</span></td><td><span data-path-to-node="23,4,2,0">Plate found and has permit(s), but the vehicle is NOT active on the user's profile. (Rare)</span></td></tr><tr><td><span data-path-to-node="23,5,0,0">**Notification** (Red !)</span></td><td><span data-path-to-node="23,5,1,0">None</span></td><td><span data-path-to-node="23,5,2,0">Plate has a specific warning for Do Not Ticket or Tow (DNTT).</span></td></tr><tr><td><span data-path-to-node="23,6,0,0">**Notification** (Blue !) (with Blue permit pill)</span></td><td><span data-path-to-node="23,6,1,0">None</span></td><td><span data-path-to-node="23,6,2,0">Plate found and has a valid permit, but is parked in the wrong lot/zone.</span></td></tr><tr><td><span data-path-to-node="23,7,0,0">**Chalk** (Map)</span></td><td><span data-path-to-node="23,7,1,0">Swoosh (LPR)</span></td><td><span data-path-to-node="23,7,2,0">Plate has been chalked (manually or by LPR), and the grace period has not yet expired.</span></td></tr><tr><td><span data-path-to-node="23,8,0,0">**Flag**</span></td><td><span data-path-to-node="23,8,1,0">Buzz</span></td><td><span data-path-to-node="23,8,2,0">Indicates that there has been a specific alert triggered on either the person or the vehicle.</span></td></tr></tbody></table>

### Understanding the Printed Ticket

**Front of the Ticket/Warning**

- **Ticket Number:** A system-assigned number identifying the individual violation.
- **Date:** The date the violation was issued.
- **Ticket Type:** The broad category of the violation.
- **License Plate &amp; Province:** The vehicle's plate number and issuing province/state.
- **Offense Type:** The specific violation that occurred.
- **Location:** The physical location where the violation occurred.
- **Writer:** A unique system-assigned identifier for the enforcement officer (providing officer security while allowing admins to verify their identity in the backend).
- **Fine &amp; Towing:** The amounts owed for the violation or towing. \*(Note: On a warning ticket, the amount is followed by "Warning", indicating it is not owed, but shows what would be due if a real ticket was issued).
- **Comments:** Additional notes included by the enforcement officer.

**Back of the Ticket/Warning** The back provides details about the issuing organization and clear policies on how the violator can pay or formally appeal the ticket. It includes a section for the violator to identify themselves and sign off, as well as office hours and contact information.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Always verify visual cues before ticketing:** **Pay close attention to the search result icons and audio notifications.** Ensure you do not accidentally issue a violation to a vehicle with a valid Green Check or a Red Exclamation Point (Do Not Ticket or Tow).</span>
- <span style="color: rgb(22, 145, 121);">**Leverage the Failed To Identify toggle:** **Use the Failed To Identify toggle immediately when issuing a vehicle violation if the driver is not present.** This allows you to process the ticket efficiently against the vehicle itself without needing a registered user profile.</span>
- <span style="color: rgb(22, 145, 121);">**Capture undeniable proof:** **Always attach photo or video evidence when issuing a violation.** In the event of an appeal, visual proof combined with virtual chalking data strongly supports the enforcement officer's actions.</span>

# Virtual Chalking Explanation

<p class="callout info">Virtual chalking (or e-chalking) is an electronic process in the OPSCOM Enforce app that precisely mirrors the manual chalking of a vehicle's tire to monitor parking durations. Its primary purpose is to help enforcement officers efficiently track time-limited parking and automatically generate time-stamped photographic evidence for potential violations and appeals. This article is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

Virtual chalking is a native feature of the enforcement application and relies on system-defined grace periods to calculate parking violations.

**Admin Side:** Administrators must ensure that parking lots with timed parking or permit grace periods are properly configured within the backend system settings. This ensures the handheld application knows exactly how long a vehicle is allowed to remain parked after being chalked before it is flagged for a violation.

**User Side (Enforcement Staff):** Enforcement officers must have the OPSCOM Enforce app installed on their mobile device and be logged into an active account with device camera permissions fully enabled.

## Using this Feature

Officers use the handheld application to record a vehicle's presence at a specific time. If the vehicle overstays the allowed time or grace period, the chalk record serves as undeniable proof for a violation.

For detailed instructions on the complete chalking workflow and how it interacts with ticketing, see the [Violations and Chalking](https://opscom.wiki/books/opscom-enforce-ios-android/chapter/violations-and-chalking) article.

### Virtual Chalking a Vehicle

1. Tap **Search Vehicles** on the handheld device to look up the offending vehicle.
2. Capture the license plate using the LPR camera, text input, or voice command.
3. Tap the **Virtual Chalk** button to immediately create the time-stamped record and start the grace period timer.
4. Capture a contextual image of the vehicle manually if you entered the plate via text or voice. (LPR captures automatically take both a close-up of the plate and a contextual full-back image with time stamps).

<p class="callout info">**Court-Admissible Evidence** Virtual chalking provides a photographic image that is seamlessly attached to the violation. This evidence is generally acceptable in a court of law, provided the date and time stamp is clearly visible on the image.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Capture contextual images for manual entries:** **If you enter a plate via text or voice when chalking, you must manually take a contextual image to record the time stamp.** The system only captures these automatically during LPR camera mode.</span>
- <span style="color: rgb(22, 145, 121);">**Take multiple images when issuing violations:** **When capturing the plate a second time to issue the actual violation, take multiple images.** Using both the timestamped image and the time printed on the ticket allows you to definitively calculate and prove the time the vehicle was parked. There is no limit to the number of images you can attach.</span>
- <span style="color: rgb(22, 145, 121);">**Preserve your evidence:** **The chalked image automatically becomes part of the violation unless the patrol officer manually deletes the image.** Never delete these images in the field, as they are crucial for dealing with client disputes and formal appeals.</span>
- <span style="color: rgb(22, 145, 121);">**Leverage chalking for grace periods:** **Use virtual chalking to manage grace periods efficiently.** For example, if a vehicle is parked and the owner is walking to a pay station to purchase a permit, chalking the vehicle allows a fair grace period for them to obtain it before a violation is issued on a subsequent patrol pass.</span>

# Signature Capture on Violation Entry

<p class="callout info">The Signature Capture on Violation Entry feature allows parking enforcement officers to capture a physical signature directly on their handheld device when issuing a ticket. Its primary purpose is to provide proof of receipt and interaction by saving an optimized image of the signature directly to the violation record. This article is intended for OPS-COM administrators to help them configure the application settings and train field officers on this functionality.</p>

## Setup and Configuration

This feature requires configuration directly within the handheld application settings to determine if the signature workflow is mandatory or op<span class="citation-1821 citation-1822 citation-1823 citation-end-1823">tional for your field staff.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-1821 citation-1822 citation-end-1822"><sup class="superscript embedded" data-turn-source-index="2"></sup></span><span class="citation-1821 citation-end-1821"><sup class="superscript embedded" data-turn-source-index="3"></sup></span>

**<span class="citation-1818 citation-1819 citation-1820 citation-end-1820">Admin Side:<sup class="superscript embedded" data-turn-source-index="4"></sup></span><span class="citation-1818 citation-1819 citation-end-1819"><sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-1818 citation-end-1818"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>**

<span class="citation-1815 citation-1816 citation-1817 citation-end-1817">Administrators or supervisors will configure this setting directly on the physical handheld devices used by the enforcement officers.<sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-1815 citation-1816 citation-end-1816"><sup class="superscript embedded" data-turn-source-index="8"></sup></span><span class="citation-1815 citation-end-1815"><sup class="superscript embedded" data-turn-source-index="9"></sup></span>

1. <span class="citation-1812 citation-1813 citation-1814">Navigate to </span>**<span class="citation-1812 citation-1813 citation-1814">Settings</span>**<span class="citation-1812 citation-1813 citation-1814 citation-end-1814"> on the handheld application.<sup class="superscript embedded" data-turn-source-index="10"></sup></span><span class="citation-1812 citation-1813 citation-end-1813"><sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-1812 citation-end-1812"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>
2. <span class="citation-1809 citation-1810 citation-1811">Toggle the </span>**<span class="citation-1809 citation-1810 citation-1811">Require Signature</span>**<span class="citation-1809 citation-1810 citation-1811 citation-end-1811"> option to ON to force officers to collect a signature before th<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-1809 citation-1810 citation-end-1810">ey can successfully save a violation.<sup class="superscript embedded" data-turn-source-index="14"></sup></span><span class="citation-1809 citation-end-1809"><sup class="superscript embedded" data-turn-source-index="15"></sup></span>
3. <span class="citation-1807 citation-1808">Toggle the </span>**<span class="citation-1807 citation-1808">Require Signature</span>**<span class="citation-1807 citation-1808 citation-end-1808"> option to OFF to bypass the forced workflow. The signature tab will remain available on the violation entry screen, but it will not be <sup class="superscript embedded" data-turn-source-index="16"></sup></span><span class="citation-1807 citation-end-1807">a required field.<sup class="superscript embedded" data-turn-source-index="17"></sup></span>

## Using this Feature

Administrators can use the following instructions to guide parking enforcement officers through capturing a signature in the field using their handheld units.

### Capturing a Signature

1. Perform a plate search and open a vehicle's violation entry screen.
2. Tap the **pencil icon** located on the fifth tab of the top segment bar to open the signature panel.
3. Tap the **Open Signature Pad** button to launch the full-screen modal.
4. Have the individual use a single finger to sign their name on the blank canvas.
5. Tap the **Confirm** button to lock in the signature.
6. Review the thumbnail preview of the signature on the tab to ensure it is legible.
7. Ta<span class="citation-1800 citation-1801 citation-1802 citation-1803 citation-1804">p </span>**<span class="citation-1800 citation-1801 citation-1802 citation-1803 citation-1804">Save</span>**<span class="citation-1800 citation-1801 citation-1802 citation-1803 citation-1804 citation-end-1804"> to complete the ticket issuance process.<sup class="superscript embedded" data-turn-source-index="20"></sup></span><span class="citation-1800 citation-1801 citation-1802 citation-1803 citation-end-1803"><sup class="superscript embedded" data-turn-source-index="21"></sup></span><span class="citation-1800 citation-1801 citation-1802 citation-end-1802"><sup class="superscript embedded" data-turn-source-index="22"></sup></span><span class="citation-1800 citation-1801 citation-end-1801"><sup class="superscript embedded" data-turn-source-index="23"></sup></span><span class="citation-1800 citation-end-1800"><sup class="superscript embedded" data-turn-source-index="24"></sup></span>

<p class="callout success">**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794">Note for Android users:</span>**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794"> If the signature fails to register on the first attempt on an Android device, quickly </span>**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794">Double Tap</span>**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794"> the </span>**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794">Confirm</span>**<span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-1794 citation-end-1794"> button to force the save.<sup class="superscript embedded" data-turn-source-index="30"></sup></span><span class="citation-1790 citation-1791 citation-1792 citation-1793 citation-end-1793"><sup class="superscript embedded" data-turn-source-index="31"></sup></span><span class="citation-1790 citation-1791 citation-1792 citation-end-1792"><sup class="superscript embedded" data-turn-source-index="32"></sup></span><span class="citation-1790 citation-1791 citation-end-1791"><sup class="superscript embedded" data-turn-source-index="33"></sup></span><span class="citation-1790 citation-end-1790"><sup class="superscript embedded" data-turn-source-index="34"></sup></span></p>

### <span class="citation-1786 citation-1787 citation-1788 citation-1789 citation-end-1789">Visual Cues and Status Indicators<sup class="superscript embedded" data-turn-source-index="35"></sup></span><span class="citation-1786 citation-1787 citation-1788 citation-end-1788"><sup class="superscript embedded" data-turn-source-index="36"></sup></span><span class="citation-1786 citation-1787 citation-end-1787"><sup class="superscript embedded" data-turn-source-index="37"></sup></span><span class="citation-1786 citation-end-1786"><sup class="superscript embedded" data-turn-source-index="38"></sup></span>

- **<span class="citation-1782 citation-1783 citation-1784 citation-1785">Thumbnail Preview:</span>**<span class="citation-1782 citation-1783 citation-1784 citation-1785 citation-end-1785"> Once a signature is successfully confirmed, a small image preview will appear <sup class="superscript embedded" data-turn-source-index="39"></sup></span><span class="citation-1782 citation-1783 citation-1784 citation-end-1784">directly on the signature tab to verify the capture was successful.<sup class="superscript embedded" data-turn-source-index="40"></sup></span><span class="citation-1782 citation-1783 citation-end-1783"><sup class="superscript embedded" data-turn-source-index="41"></sup></span><span class="citation-1782 citation-end-1782"><sup class="superscript embedded" data-turn-source-index="42"></sup></span>
- **<span class="citation-1779 citation-1780 citation-1781">Missing Signature Alert:</span>**<span class="citation-1779 citation-1780 citation-1781"> If the </span>**<span class="citation-1779 citation-1780 citation-1781">Require Signature</span>**<span class="citation-1779 citation-1780 citation-1781 citation-end-1781"> setting is active and an<sup class="superscript embedded" data-turn-source-index="43"></sup></span><span class="citation-1779 citation-1780"> officer attempts to save the violation without capturing a signature, the application will block the save action. The </span>**<span class="citation-1779 citation-1780">pencil icon</span>**<span class="citation-1779 citation-1780 citation-end-1780"> tab wil<sup class="superscript embedded" data-turn-source-index="44"></sup></span><span class="citation-1779 citation-end-1779">l immediately turn red, indicating to the officer that a re<sup class="superscript embedded" data-turn-source-index="45"></sup></span>quired field is missing.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

## <span style="color: rgb(22, 145, 121);"></span>

- <span style="color: rgb(22, 145, 121);">**Train staff on the confirmation workaround:** **Ensure enforcement officers are awar<span class="citation-1778">e that they may need to Double Tap the Confirm button on certain Android devices if the signature fails to register immediately.</span>**<span class="citation-1778 citation-end-1778"> Training officers on this quick workaround prevents frustration and delays during live field enforcemen<sup class="superscript embedded" data-turn-source-index="46"></sup></span>t.</span>
- <span style="color: rgb(22, 145, 121);">**Establish clear enforcement p<span class="citation-1772 citation-1773 citation-1774 citation-1775 citation-1776 citation-1777">olicies:</span>** **<span class="citation-1772 citation-1773 citation-1774 citation-1775 citation-1776 citation-1777">Organizations should develop a clear business rule for when a signature should be collected if the mandatory setting is toggled OFF.</span>**<span class="citation-1772 citation-1773 citation-1774 citation-1775 citation-1776 citation-1777 citation-end-1777"> Since the signature tab remains available even when disabled as a strict requirement, officers should know which specific violation types or situational encounters still warrant attempting to get a signature.<sup class="superscript embedded" data-turn-source-index="47"></sup></span><span class="citation-1772 citation-1773 citation-1774 citation-1775 citation-1776 citation-end-1776"><sup class="superscript embedded" data-turn-source-index="48"></sup></span><span class="citation-1772 citation-1773 citation-1774 citation-1775 citation-end-1775"><sup class="superscript embedded" data-turn-source-index="49"></sup></span><span class="citation-1772 citation-1773 citation-1774 citation-end-1774"><sup class="superscript embedded" data-turn-source-index="50"></sup></span><span class="citation-1772 citation-1773 citation-end-1773"><sup class="superscript embedded" data-turn-source-index="51"></sup></span><span class="citation-1772 citation-end-1772"><sup class="superscript embedded" data-turn-source-index="52"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-1766 citation-1767 citation-1768 citation-1769 citation-1770 citation-1771 citation-end-1771">Understand data <sup class="superscript embedded" data-turn-source-index="53"></sup></span><span class="citation-1766 citation-1767 citation-1768 citation-1769 citation-1770">syncing:</span>** **<span class="citation-1766 citation-1767 citation-1768 citation-1769 citation-1770">Captured signatures are saved as highly optimized PNG files (averaging approximately 25KB).</span>**<span class="citation-1766 citation-1767 citation-1768 citation-1769 citation-1770 citation-end-1770"> These files automatically sync back to the admin backend as image attachments on the violation record for future auditing, reportin<sup class="superscript embedded" data-turn-source-index="54"></sup></span></span><span class="citation-1766 citation-1767 citation-1768 citation-1769 citation-end-1769"><span style="color: rgb(22, 145, 121);">g, and appeals processing.</span><sup class="superscript embedded" data-turn-source-index="55"></sup></span><span class="citation-1766 citation-1767 citation-1768 citation-end-1768"><sup class="superscript embedded" data-turn-source-index="56"></sup></span><span class="citation-1766 citation-1767 citation-end-1767"><sup class="superscript embedded" data-turn-source-index="57"></sup></span><span class="citation-1766 citation-end-1766"><sup class="superscript embedded" data-turn-source-index="58"></sup></span>

# Towing Charges Displayed on a Violation

<p class="callout info">The Displaying Towing Charges on a Violation feature allows organizations to print a default $0.00 towing fee on all physical parking tickets. Its primary purpose is to serve as a visible deterrent, reminding parkers that their vehicle could potentially be towed for infractions, even if a tow is not ordered for the current offense. This article is intended for OPS-COM administrators and field enforcement personnel configuring the OPSCOM Enforce application.</p>

## Setup and Configuration

This setting is configured directly within the system settings of the individual handheld enforcement device.

**Admin Side:** Administrators or supervisors must configure this setting on the physical devices used by the enforcement officers.

1. Tap **System Settings** from the full corner menu of the handheld application.
2. Scroll to locate the specific towing charge options under **Ticket Content**.
3. Enable the **Include $0.00 Towing Charge** toggle.

<p class="callout info">**Default State** By default, this setting is disabled. If the checkbox remains disabled, the towing charge line item will be completely hidden on standard printed tickets unless a real fee is applied.</p>

## Using this Feature

Enforcement personnel do not need to perform any special actions to use this feature; it operates automatically when a physical violation is printed.

### Printing Tickets with the Notice

1. Issue a standard plate or person violation on the handheld device.
2. Tap **Save &amp; Print** on the violation entry screen.
3. Review the printed ticket. The physical citation will now automatically include a "Towing" line item explicitly displaying a "$0.00" value.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Understand actual towing charges:** **If a real towing charge is manually applied to the violation by the officer, the towing charge will always appear on the printed ticket regardless of whether this setting is enabled or disabled.** This toggle strictly controls the display of the $0.00 placeholder value.</span>
- <span style="color: rgb(22, 145, 121);">**Align with institutional policy:** **Organizations should ensure that displaying a towing reminder aligns with their official parking and enforcement policies.**</span><span class="citation-2242 citation-end-2242"><span style="color: rgb(22, 145, 121);"> Displaying this warning is an effective deterrent, but it should be supported by actual lot signage and organizational towing rules to avoid confusing your parkers.</span><sup class="superscript embedded" data-turn-source-index="1"></sup></span>

# Reprint Violation

<p class="callout info">The Reprint Violation feature allows enforcement officers to print a duplicate copy of a previously issued parking ticket directly from their handheld device. Its primary purpose is to help quickly replace damaged, lost, or misprinted citations while officers are still active in the field. This guide is intended for field enforcement personnel and OPSCOM administrators.</p>

## Setup and Configuration

This feature is a native function of the enforcement application and does not require any specialized backend configuration. However, it does rely on properly configured external hardware.

**Admin Side:** Administrators simply need to ensure that field personnel are equipped with functioning mobile Bluetooth printers and have active enforcement accounts. For details on hardware configuration, refer to the [Printers &amp; Printing](https://opscom.wiki/books/opscom-enforce-ios-android/chapter/printers-printing) guide.

**User Side (Enforcement Staff):** Enforcement officers must ensure their handheld device is actively paired and connected to their designated mobile printer before attempting to reprint a ticket.

## Using this Feature

Field personnel can quickly retrieve and reprint recent violation notices directly from the main application menu.

### Reprinting Tickets

1. Tap **Reprint Violation** from the main menu of the OPSCOM Enforce app.
2. Review the list of recently issued tickets displayed on the Reprint Violation Notice screen.
3. Tap the specific violation record that you need to reprint.
4. Follow the subsequent on-screen printer instructions to complete the physical printing process.

<p class="callout success">**Check your hardware first** Before navigating to the reprint screen, always verify that your mobile printer is powered on, has sufficient battery life, is loaded with ticket paper, and is actively paired with your handheld unit.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Verify the correct ticket:** **Always double-check the ticket details (such as the license plate or time of issue) on the screen before tapping to reprint.** This ensures you are leaving the correct duplicate citation on the offending vehicle.</span>
- <span style="color: rgb(22, 145, 121);">**Address the root cause:** **If you find yourself frequently reprinting tickets due to faded ink or paper jams, report the hardware issue to your administrator.** Continuous reprinting wastes time and thermal paper resources.</span>

# Printers & Printing

# Bluetooth Printer Mode

<p class="callout info">The Changing Bluetooth Mode procedure explains how to adjust the internal hardware connection settings on Star Micronics mobile printers. Its primary purpose is to ensure the printer broadcasts a standard Bluetooth signal compatible with your devices. This article is intended for OPSCOM administrators and field enforcement personnel setting up their printing hardware.</p>

## Setup and Configuration

This configuration is performed directly on the physical mobile printer using its hardware buttons. It does not require any configuration within the OPSCOM administrative portal.

**Admin Side:** Administrators should ensure the physical field printers are fully charged before attempting hardware configuration changes.

**User Side (Enforcement Staff):** Ensure the printer is powered off and disconnected from any previously paired devices before beginning this setup process.

## Using this Feature

Enforcement personnel must interact with the physical **Power** and **Feed** buttons on the printer to access and modify its internal broadcast mode.

### Changing the Printer's Bluetooth Mode

1. Hold the **Power** button down for 3 seconds until the printer beeps to turn it on.
2. Hold down both the **Power** button and **Feed** button simultaneously for approximately 5 seconds until the printer enters settings mode and the LED screen flashes. Release the buttons.
3. Press the **Power** button to change the current mode from **Bluetooth (iAP)** to standard **Bluetooth Mode** or **Bluetooth** (the exact wording depends on your specific printer model).
4. Hold down the **Power** button and **Feed** button simultaneously for another 5 seconds to exit and save your changes. The printer will immediately print a detailed paper list showing your new settings.
5. Verify that the correct standard Bluetooth mode is now displayed on the printer's LED indicator screen.

<p class="callout info">**Hardware Button Navigation** While in the Printer Settings mode, pressing the **Power** button changes the specific setting option you are currently looking at, while pressing the **Feed** button skips forward to the next available setting category.</p>

### Confirming Settings

Once the printer hardware is properly configured to broadcast a standard Bluetooth signal, return to your device to complete the pairing process.

1. Issue a test violation within the OPSCOM Enforce application to ensure the tablet and printer are communicating successfully.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Avoid the iAP suffix for Android devices:** **Always ensure your printer is set to standard Bluetooth or Bluetooth Mode when pairing with Android tablets.** The *Bluetooth (iAP)* mode is designed exclusively for Apple/iOS devices. Even if your Android tablet appears to successfully pair with the printer while it is in iAP mode, the enforcement application will not be able to print tickets.</span>
- <span style="color: rgb(22, 145, 121);">**Always test the connection:** **Always perform a live print test after altering hardware modes.** Confirming the physical ticket prints correctly saves time in the field and ensures officers are not stranded with non-functioning hardware during a patrol.</span>

# Choosing & Connecting Printers

<p class="callout info">The Choosing and Configuring Printers process allows enforcement officers to connect and properly format their mobile Bluetooth printers within the Enforce application. Its primary purpose is to ensure the application communicates with the correct hardware drivers, allowing for clear and accurate physical ticket printing in the field. This article is intended for OPSCOM administrators and field enforcement personnel configuring their handheld devices.</p>

## Setup and Configuration

Before configuring the printer within the OPSCOM application, the physical printer must be powered o<span class="citation-2420 citation-2421 citation-end-2421">n and actively paired to the handheld device via the device's Bluetooth settings.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-2420 citation-end-2420"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-2418 citation-2419 citation-end-2419">Admin Side: <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-2418 citation-end-2418"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-2416 citation-2417 citation-end-2417">Administrators should ensure the organization's chosen Bluetooth printers (such as Star Micronics or Zebra models) are fully charged, loaded with paper, and paired<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-2416 citation-end-2416"> to the assigned handheld device.<sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-2415 citation-end-2415">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="7"></sup></span>**<span class="citation-2414 citation-end-2414">Enforcement officers must configure the application settings to recognize the paired printer and driver bef<sup class="superscript embedded" data-turn-source-index="8"></sup></span>ore issuing their first physical citation.

## Using this Feature

Officers must explicitly select both the appropriate software driver and the specific hardware device within the application's system settings.

### Accessing System Settings

1. Tap **System Settings** from the main menu of the OPSCOM application.
2. Scroll through the menu to locate the specific printer settings options.

### Selecting the Driver and Printer

1. Tap **Bluetooth print driver** to select the proper driver for the hardware you are using.
2. Tap **Bluetooth Printer** to open a list of paired Bluetooth devices.
3. Tap the name of the specific printer you are actively using to finalize the connection.

<p class="callout info">**Default Printer Driver** By default, the printer driver is set to Star Micronics. If you are using a Zebra printer, tap to select Zebra. Selecting the driver will automatically close the pop-up and return you to the main settings menu.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Match your drivers to your hardware:** **It is critical that the selected driver matches your physical printer type.** If these two settings do not match, the printer will either fail to work entirely or it will begin to print out unreadable code and odd characters instead of a properly formatted violation.</span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-2413">Verify functionality before patrolling:</span>** **<span class="citation-2413">Always issue a test violation after configuration.</span>**<span class="citation-2413 citation-end-2413"> Printing a test ticket ensures the printer is connected, formatting correctly, and working exactly a<sup class="superscript embedded" data-turn-source-index="9"></sup></span>s expected before you step out into the field to begin en</span><span class="citation-2411 citation-2412 citation-end-2412"><span style="color: rgb(22, 145, 121);">forcement.</span><sup class="superscript embedded" data-turn-source-index="10"></sup></span><span class="citation-2411 citation-end-2411"><sup class="superscript embedded" data-turn-source-index="11"></sup></span>

# Star Micronics Printer Configuration

<p class="callout info">The Star Micronics Printer Configuration process allows administrators and field staff to securely connect mobile printers to Android or iOS devices for use with the OPSCOM Enforce - iOS &amp; Android application. Its primary purpose is to enable enforcement officers to accurately print tickets directly from their handheld devices, significantly streamlining the violation issuance process in the field. This article is intended for OPSCOM administrators and enforcement personnel.</p>

## Setup and Configuration

Before using the printer with the enforcement application, the hardware must be successfully paired with the handheld device and set to the correct underlying emulation mode.

<p class="callout info">The Star Micronics T300i or higher is strongly recommended for field operations, as older models may not be fully supported by modern mobile operating systems.</p>

### Changing Printer Emulation

Emulation dictates exactly how the printer communicates with the handheld's operating system. The printer must be set to the specific mode required by your device type (Android or iOS).

1. Open the paper cover of the printer.
2. Tap and Hold the **POWER** and **FEED** buttons simultaneously.
3. Release the buttons once the red error lamp flashes 5 times and the screen indicates Setup Mode.
4. Close the paper cover.
5. Review the physical status slip that automatically prints. For Android devices, the slip must display "Emulation = ESC/POS". For iOS devices, the slip must display "Emulation = StarPRNT".
6. Repeat these steps from the beginning if the status slip does not show the correct emulation for your specific device.

### Bluetooth Pairing

1. Power on the Star Micronics printer.
2. Navigate to **Settings** th<span class="citation-145">en </span>**<span class="citation-145">Bluetooth</span>**<span class="citation-145 citation-end-145"> on the handheld device.<sup class="superscript embedded" data-turn-source-index="1"></sup></span>
3. <span class="citation-144">Ensure the </span>**<span class="citation-144">Bluetooth</span>**<span class="citation-144 citation-end-144"> toggle is enabled.<sup class="superscript embedded" data-turn-source-index="2"></sup></span>
4. <span class="citation-143 citation-end-143">Select the Star Micronics printer from the list of available nearby devices.<sup class="superscript embedded" data-turn-source-index="3"></sup></span>
5. <span class="citation-142 citation-end-142">Enter the PIN to successfully pair the device.<sup class="superscript embedded" data-turn-source-index="4"></sup></span>

## Using this Feature

Once the hardware is paired and configured at the operating system level, it must be linked within the application settings to actively enable ticketing functionality.

### Connecting in the Enforce App

1. Open the OPSCOM Enforce app and log in.
2. Tap the **Menu** icon at the top left of the screen.
3. Tap **App Settings**.
4. Scroll down to the Printer Settings section.
5. Ta<span class="citation-141">p the </span>**<span class="citation-141">Printer Driver</span>**<span class="citation-141"> drop-down menu and choose </span>**<span class="citation-141">Star Micronics</span>**<span class="citation-141 citation-end-141">.<sup class="superscript embedded" data-turn-source-index="5"></sup></span>
6. <span class="citation-140">Tap </span>**<span class="citation-140">Saved Bluetooth Printer</span>**<span class="citation-140 citation-end-140"> to initiate a scan for your previously paired hardware.<sup class="superscript embedded" data-turn-source-index="6"></sup></span>
7. <span class="citation-139 citation-end-139">Tap the printer name (typically SM-T300) or the specific se<sup class="superscript embedded" data-turn-source-index="7"></sup></span>rial number from the scanned list.
8. Tap the **Emulation** drop-down menu and select the mode matching your device. Select **StarPRNT** for iOS devices, or select **EscPosMobile** for Android devices.
9. Tap the **Menu** button and tap **Home** to return to the main operational screen.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Verify hardware compatibility:** **Ensure you are using a Star Micronics T300i or higher**, as older models may not be supported by the Enforce app or receive firmware updates.</span>
- <span style="color: rgb(22, 145, 121);">**Prioritize battery management:** **Ensure the printer is fully charged before the start of a shift** to prevent unexpected connection drops or hardware failures during live ticket issuance.</span>
- <span style="color: rgb(22, 145, 121);">**Conduct pre-shift paper checks:** **Always verify paper levels before leaving the office**, as the external printer will not alert the Enforce app when it is out of physical thermal media.</span>
- <span style="color: rgb(22, 145, 121);">**Resolve connectivity issues quickly:** **If the printer stops responding in the field, toggle Bluetooth off and on in the device settings** and verify that the printer has not automatically entered a power-saving sleep mode. If issues persist, contact OPSCOM Support.</span>

# Zebra Printer Configuration

<p class="callout info">The Zebra Printer Configuration process allows administrators to set up and connect Zebra mobile printers to Android or iOS devices for use with the OPSCOM Enforce app. Its primary purpose is to streamline parking operations by enabling the direct printing of violation tickets from handheld units. This article is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

Configuring a Zebra printer requires a one-time setup involving the official Zebra utility and the Enforce application to ensure consistent communication between the hardware and software.

### Printer Discovery and Utility Setup

1. Power on the Zebra printer.
2. Uninstall and re-install the **OPSCOM Enforce** app on your handheld device to ensure a clean configuration environment.
3. Download and install the **Zebra Printer Setup Utility** from the app store.
4. Open the **Zebra Printer Setup Uti<span class="citation-3439">lity</span>**<span class="citation-3439 citation-end-3439">.<sup class="superscript embedded" data-turn-source-index="1"></sup></span>
5. <span class="citation-3438">Tap </span>**<span class="citation-3438">Discover Printers</span>**<span class="citation-3438 citation-end-3438">.<sup class="superscript embedded" data-turn-source-index="2"></sup></span>
6. <span class="citation-3437">Tap and Hold the </span>**<span class="citation-3437">Feed</span>**<span class="citation-3437 citation-end-3437"> button on the physical printer until the Bluetooth symbol appears on the printer display, then release.<sup class="superscript embedded" data-turn-source-index="3"></sup></span>
7. <span class="citation-3436">Tap the printer once it appears in the </span>**<span class="citation-3436">Discovered</span>**<span class="citation-3436 citation-end-3436"> list.<sup class="superscript embedded" data-turn-source-index="4"></sup></span>
8. <span class="citation-3435 citation-end-3435">Wait for the utility to retrieve settings; the printer is ready when the status displa<sup class="superscript embedded" data-turn-source-index="5"></sup></span>ys **R<span class="citation-3428 citation-3429 citation-3430 citation-3431 citation-3432 citation-3433 citation-3434">eady</span>**<span class="citation-3428 citation-3429 citation-3430 citation-3431 citation-3432 citation-3433 citation-3434 citation-end-3434"> at the top of the screen.<sup class="superscript embedded" data-turn-source-index="6"></sup></span><span class="citation-3428 citation-3429 citation-3430 citation-3431 citation-3432 citation-3433 citation-end-3433"><sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-3428 citation-3429 citation-3430 citation-3431 citation-3432 citation-end-3432"><sup class="superscript embedded" data-turn-source-index="8"></sup></span><span class="citation-3428 citation-3429 citation-3430 citation-3431 citation-end-3431"><sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-3428 citation-3429 citation-3430 citation-end-3430"><sup class="superscript embedded" data-turn-source-index="10"></sup></span><span class="citation-3428 citation-3429 citation-end-3429"><sup class="superscript embedded" data-turn-source-index="11"></sup></span><span class="citation-3428 citation-end-3428"><sup class="superscript embedded" data-turn-source-index="12"></sup></span>

### <span class="citation-3421 citation-3422 citation-3423 citation-3424 citation-3425 citation-3426 citation-3427 citation-end-3427">Connectivity and Media Settings<sup class="superscript embedded" data-turn-source-index="13"></sup></span><span class="citation-3421 citation-3422 citation-3423 citation-3424 citation-3425 citation-3426 citation-end-3426"><sup class="superscript embedded" data-turn-source-index="14"></sup></span><span class="citation-3421 citation-3422 citation-3423 citation-3424 citation-3425 citation-end-3425"><sup class="superscript embedded" data-turn-source-index="15"></sup></span><span class="citation-3421 citation-3422 citation-3423 citation-3424 citation-end-3424"><sup class="superscript embedded" data-turn-source-index="16"></sup></span><span class="citation-3421 citation-3422 citation-3423 citation-end-3423"><sup class="superscript embedded" data-turn-source-index="17"></sup></span><span class="citation-3421 citation-3422 citation-end-3422"><sup class="superscript embedded" data-turn-source-index="18"></sup></span><span class="citation-3421 citation-end-3421"><sup class="superscript embedded" data-turn-source-index="19"></sup></span>

1. <span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-3420">Tap </span>**<span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-3420">Connectivity Settings</span>**<span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-3420">, then tap </span>**<span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-3420">Bluetooth</span>**<span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-3420 citation-end-3420">.<sup class="superscript embedded" data-turn-source-index="20"></sup></span><span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-3419 citation-end-3419"><sup class="superscript embedded" data-turn-source-index="21"></sup></span><span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-3418 citation-end-3418"><sup class="superscript embedded" data-turn-source-index="22"></sup></span><span class="citation-3414 citation-3415 citation-3416 citation-3417 citation-end-3417"><sup class="superscript embedded" data-turn-source-index="23"></sup></span><span class="citation-3414 citation-3415 citation-3416 citation-end-3416"><sup class="superscript embedded" data-turn-source-index="24"></sup></span><span class="citation-3414 citation-3415 citation-end-3415"><sup class="superscript embedded" data-turn-source-index="25"></sup></span><span class="citation-3414 citation-end-3414"><sup class="superscript embedded" data-turn-source-index="26"></sup></span>
2. <span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-3413">Confirm that the </span>**<span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-3413">Bluetooth</span>**<span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-3413"> and </span>**<span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-3413">Discoverable</span>**<span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-3413 citation-end-3413"> switches are enabled.<sup class="superscript embedded" data-turn-source-index="27"></sup></span><span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-3412 citation-end-3412"><sup class="superscript embedded" data-turn-source-index="28"></sup></span><span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-3411 citation-end-3411"><sup class="superscript embedded" data-turn-source-index="29"></sup></span><span class="citation-3407 citation-3408 citation-3409 citation-3410 citation-end-3410"><sup class="superscript embedded" data-turn-source-index="30"></sup></span><span class="citation-3407 citation-3408 citation-3409 citation-end-3409"><sup class="superscript embedded" data-turn-source-index="31"></sup></span><span class="citation-3407 citation-3408 citation-end-3408"><sup class="superscript embedded" data-turn-source-index="32"></sup></span><span class="citation-3407 citation-end-3407"><sup class="superscript embedded" data-turn-source-index="33"></sup></span>
3. <span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-3406">Verify the </span>**<span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-3406">Friendly Name</span>**<span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-3406"> (defaults to the serial number) and tap </span>**<span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-3406">Next</span>**<span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-3406 citation-end-3406">.<sup class="superscript embedded" data-turn-source-index="34"></sup></span><span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-3405 citation-end-3405"><sup class="superscript embedded" data-turn-source-index="35"></sup></span><span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-3404 citation-end-3404"><sup class="superscript embedded" data-turn-source-index="36"></sup></span><span class="citation-3400 citation-3401 citation-3402 citation-3403 citation-end-3403"><sup class="superscript embedded" data-turn-source-index="37"></sup></span><span class="citation-3400 citation-3401 citation-3402 citation-end-3402"><sup class="superscript embedded" data-turn-source-index="38"></sup></span><span class="citation-3400 citation-3401 citation-end-3401"><sup class="superscript embedded" data-turn-source-index="39"></sup></span><span class="citation-3400 citation-end-3400"><sup class="superscript embedded" data-turn-source-index="40"></sup></span>
4. <span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398 citation-3399">Tap </span>**<span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398 citation-3399">Next</span>**<span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398 citation-3399 citation-end-3399"> on the second screen to keep default sett<sup class="superscript embedded" data-turn-source-index="41"></sup></span><span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398">ings, then tap </span>**<span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398">Apply</span>**<span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-3398 citation-end-3398">.<sup class="superscript embedded" data-turn-source-index="42"></sup></span><span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-3397 citation-end-3397"><sup class="superscript embedded" data-turn-source-index="43"></sup></span><span class="citation-3393 citation-3394 citation-3395 citation-3396 citation-end-3396"><sup class="superscript embedded" data-turn-source-index="44"></sup></span><span class="citation-3393 citation-3394 citation-3395 citation-end-3395"><sup class="superscript embedded" data-turn-source-index="45"></sup></span><span class="citation-3393 citation-3394 citation-end-3394"><sup class="superscript embedded" data-turn-source-index="46"></sup></span><span class="citation-3393 citation-end-3393"><sup class="superscript embedded" data-turn-source-index="47"></sup></span>
5. <span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-3392">Tap </span>**<span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-3392">Media Settings</span>**<span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-3392"> and tap </span>**<span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-3392">Media Settings</span>**<span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-3392 citation-end-3392"> again on the following page.<sup class="superscript embedded" data-turn-source-index="48"></sup></span><span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-3391 citation-end-3391"><sup class="superscript embedded" data-turn-source-index="49"></sup></span><span class="citation-3387 citation-3388 citation-3389 citation-3390 citation-end-3390"><sup class="superscript embedded" data-turn-source-index="50"></sup></span><span class="citation-3387 citation-3388 citation-3389 citation-end-3389"><sup class="superscript embedded" data-turn-source-index="51"></sup></span><span class="citation-3387 citation-3388 citation-end-3388"><sup class="superscript embedded" data-turn-source-index="52"></sup></span><span class="citation-3387 citation-end-3387"><sup class="superscript embedded" data-turn-source-index="53"></sup></span>
6. <span class="citation-3381 citation-3382 citation-3383 citation-3384 citation-3385 citation-3386 citation-end-3386">Follow the prompts to set the corre<sup class="superscript embedded" data-turn-source-index="54"></sup></span><span class="citation-3381 citation-3382 citation-3383 citation-3384 citation-3385">ct paper size for your rolls and tap </span>**<span class="citation-3381 citation-3382 citation-3383 citation-3384 citation-3385">Apply</span>**<span class="citation-3381 citation-3382 citation-3383 citation-3384 citation-3385 citation-end-3385">.<sup class="superscript embedded" data-turn-source-index="55"></sup></span><span class="citation-3381 citation-3382 citation-3383 citation-3384 citation-end-3384"><sup class="superscript embedded" data-turn-source-index="56"></sup></span><span class="citation-3381 citation-3382 citation-3383 citation-end-3383"><sup class="superscript embedded" data-turn-source-index="57"></sup></span><span class="citation-3381 citation-3382 citation-end-3382"><sup class="superscript embedded" data-turn-source-index="58"></sup></span><span class="citation-3381 citation-end-3381"><sup class="superscript embedded" data-turn-source-index="59"></sup></span>
7. <span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-3380">Tap </span>**<span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-3380">Print a Test Label</span>**<span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-3380"> from the main </span>**<span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-3380">Media Settings</span>**<span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-3380 citation-end-3380"> page to verify the hardware configuration.<sup class="superscript embedded" data-turn-source-index="60"></sup></span><span class="citation-3376 citation-3377 citation-3378 citation-3379 citation-end-3379"><sup class="superscript embedded" data-turn-source-index="61"></sup></span><span class="citation-3376 citation-3377 citation-3378 citation-end-3378"><sup class="superscript embedded" data-turn-source-index="62"></sup></span><span class="citation-3376 citation-3377 citation-end-3377"><sup class="superscript embedded" data-turn-source-index="63"></sup></span><span class="citation-3376 citation-end-3376"><sup class="superscript embedded" data-turn-source-index="64"></sup></span>

## <span class="citation-3371 citation-3372 citation-3373 citation-3374 citation-3375 citation-end-3375">Using<sup class="superscript embedded" data-turn-source-index="65"></sup></span><span class="citation-3371 citation-3372 citation-3373 citation-3374 citation-end-3374"> this Feature<sup class="superscript embedded" data-turn-source-index="66"></sup></span><span class="citation-3371 citation-3372 citation-3373 citation-end-3373"><sup class="superscript embedded" data-turn-source-index="67"></sup></span><span class="citation-3371 citation-3372 citation-end-3372"><sup class="superscript embedded" data-turn-source-index="68"></sup></span><span class="citation-3371 citation-end-3371"><sup class="superscript embedded" data-turn-source-index="69"></sup></span>

<span class="citation-3367 citation-3368 citation-3369 citation-3370 citation-end-3370">After the printer is configured in the Zebra utility, it must be linked directly to the Enforce app to be used for ticketing in the field.<sup class="superscript embedded" data-turn-source-index="70"></sup></span><span class="citation-3367 citation-3368 citation-3369 citation-end-3369"><sup class="superscript embedded" data-turn-source-index="71"></sup></span><span class="citation-3367 citation-3368 citation-end-3368"><sup class="superscript embedded" data-turn-source-index="72"></sup></span><span class="citation-3367 citation-end-3367"><sup class="superscript embedded" data-turn-source-index="73"></sup></span>

### <span class="citation-3364 citation-3365 citation-3366 citation-end-3366">Connecting in the Enforce App<sup class="superscript embedded" data-turn-source-index="74"></sup></span><span class="citation-3364 citation-3365 citation-end-3365"><sup class="superscript embedded" data-turn-source-index="75"></sup></span><span class="citation-3364 citation-end-3364"><sup class="superscript embedded" data-turn-source-index="76"></sup></span>

1. <span class="citation-3361 citation-3362 citation-3363">Open the </span>**<span class="citation-3361 citation-3362 citation-3363">OPSCOM Enforce</span>**<span class="citation-3361 citation-3362 citation-3363 citation-end-3363"> app and log in.<sup class="superscript embedded" data-turn-source-index="77"></sup></span><span class="citation-3361 citation-3362 citation-end-3362"><sup class="superscript embedded" data-turn-source-index="78"></sup></span><span class="citation-3361 citation-end-3361"><sup class="superscript embedded" data-turn-source-index="79"></sup></span>
2. <span class="citation-3358 citation-3359 citation-3360">Tap the </span>**<span class="citation-3358 citation-3359 citation-3360">Menu</span>**<span class="citation-3358 citation-3359 citation-3360"> icon at the top left and tap </span>**<span class="citation-3358 citation-3359 citation-3360 citation-end-3360">Ap<sup class="superscript embedded" data-turn-source-index="80"></sup></span><span class="citation-3358 citation-3359">p Settings</span>**<span class="citation-3358 citation-3359 citation-end-3359">.<sup class="superscript embedded" data-turn-source-index="81"></sup></span><span class="citation-3358 citation-end-3358"><sup class="superscript embedded" data-turn-source-index="82"></sup></span>
3. <span class="citation-3356 citation-3357">Scroll to the </span>**<span class="citation-3356 citation-3357">Printer Settings</span>**<span class="citation-3356 citation-3357 citation-end-3357"> section.<sup class="superscript embedded" data-turn-source-index="83"></sup></span><span class="citation-3356 citation-end-3356"><sup class="superscript embedded" data-turn-source-index="84"></sup></span>
4. <span class="citation-3354 citation-3355">Tap the </span>**<span class="citation-3354 citation-3355">Printer Driver</span>**<span class="citation-3354 citation-3355"> drop-down menu and choose </span>**<span class="citation-3354 citation-3355">Zebra</span>**<span class="citation-3354 citation-3355 citation-end-3355">.<sup class="superscript embedded" data-turn-source-index="85"></sup></span><span class="citation-3354 citation-end-3354"><sup class="superscript embedded" data-turn-source-index="86"></sup></span>
5. <span class="citation-3352 citation-3353">Tap </span>**<span class="citation-3352 citation-3353 citation-end-3353">Saved<sup class="superscript embedded" data-turn-source-index="87"></sup></span><span class="citation-3352"> Bluetooth Printer</span>**<span class="citation-3352 citation-end-3352"> to scan for the device.<sup class="superscript embedded" data-turn-source-index="88"></sup></span>
6. <span class="citation-3351 citation-end-3351">Tap your printer name or serial number when it appears in the list.<sup class="superscript embedded" data-turn-source-index="89"></sup></span>
7. <span class="citation-3350">Tap </span>**<span class="citation-3350">Save</span>**<span class="citation-3350"> when prompted with </span>**<span class="citation-3350">Save Printer?</span>**<span class="citation-3350 citation-end-3350">.<sup class="superscript embedded" data-turn-source-index="90"></sup></span>
8. <span class="citation-3349 citation-end-3349">Tap th<sup class="superscript embedded" data-turn-source-index="91"></sup></span>e **Menu** icon and tap **Home** to begin using the application.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Clean Installa<span class="citation-3344 citation-3345 citation-3346 citation-3347 citation-3348">tion:</span>** **<span class="citation-3344 citation-3345 citation-3346 citation-3347 citation-3348">It is highly recommended to uninstall and re-install the Enforce app before setting up a new Zebra printer</span>**<span class="citation-3344 citation-3345 citation-3346 citation-3347 citation-3348 citation-end-3348"> to prevent legacy configuration conflicts.<sup class="superscript embedded" data-turn-source-index="92"></sup></span><span class="citation-3344 citation-3345 citation-3346 citation-3347 citation-end-3347"><sup class="superscript embedded" data-turn-source-index="93"></sup></span><span class="citation-3344 citation-3345 citation-3346 citation-end-3346"><sup class="superscript embedded" data-turn-source-index="94"></sup></span><span class="citation-3344 citation-3345 citation-end-3345"><sup class="superscript embedded" data-turn-source-index="95"></sup></span><span class="citation-3344 citation-end-3344"><sup class="superscript embedded" data-turn-source-index="96"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3339 citation-3340 citation-3341 citation-3342 citation-3343">Bluetooth Visibility:</span>** **<span class="citation-3339 citation-3340 citation-3341 citation-3342 citation-3343 citation-end-3343">If the printer does not appear during discovery, ensure you Tap <sup class="superscript embedded" data-turn-source-index="97"></sup></span><span class="citation-3339 citation-3340 citation-3341 citation-3342">and Hold the Feed button</span>**<span class="citation-3339 citation-3340 citation-3341 citation-3342 citation-end-3342"> until the Bluetooth icon is visibly displayed on the printer's LCD.<sup class="superscript embedded" data-turn-source-index="98"></sup></span><span class="citation-3339 citation-3340 citation-3341 citation-end-3341"><sup class="superscript embedded" data-turn-source-index="99"></sup></span><span class="citation-3339 citation-3340 citation-end-3340"><sup class="superscript embedded" data-turn-source-index="100"></sup></span><span class="citation-3339 citation-end-3339"><sup class="superscript embedded" data-turn-source-index="101"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3335 citation-3336 citation-3337 citation-3338">Naming Conventions:</span>** **<span class="citation-3335 citation-3336 citation-3337 citation-3338 citation-end-3338">Consider changing the Fri<sup class="superscript embedded" data-turn-source-index="102"></sup></span><span class="citation-3335 citation-3336 citation-3337">endly Name in the Zebra utility to a unit number</span>**<span class="citation-3335 citation-3336 citation-3337 citation-end-3337"> (e.g., "Enforcement Unit 01") to make it easier for officers to identify their specific printer in the app.<sup class="superscript embedded" data-turn-source-index="103"></sup></span><span class="citation-3335 citation-3336 citation-end-3336"><sup class="superscript embedded" data-turn-source-index="104"></sup></span><span class="citation-3335 citation-end-3335"><sup class="superscript embedded" data-turn-source-index="105"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3332 citation-3333 citation-3334 citation-end-3334">Media<sup class="superscript embedded" data-turn-source-index="106"></sup></span><span class="citation-3332 citation-3333"> Calibration:</span>** **<span class="citation-3332 citation-3333">If the printer skips labels or alignment is off, return to Media Settings in the Zebra utility</span>**<span class="citation-3332 citation-3333 citation-end-3333"> to re-run the calibration process.<sup class="superscript embedded" data-turn-source-index="107"></sup></span><span class="citation-3332 citation-end-3332"><sup class="superscript embedded" data-turn-source-index="108"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3330 citation-3331">Misprint Issue:</span>** **<span class="citation-3330 citation-3331 citation-end-3331">If the<sup class="superscript embedded" data-turn-source-index="109"></sup></span><span class="citation-3330 citation-end-3330"> printer outputs code (such as ^XA, ^FO, etc.) instead of the rendered label, it means<sup class="superscript embedded" data-turn-source-index="110"></sup></span> the printer i<span class="citation-3327 citation-3328 citation-3329">s receiving raw ZPL (Zebra Programming Language) data and treating it as text.</span>**<span class="citation-3327 citation-3328 citation-3329 citation-end-3329"> Toggling the setting for "Line Mode" or setting another language (like EPL or XML) instead of ZPL should quickly fix this issue.</span></span>

<p class="callout warning"><span class="citation-3324 citation-3325 citation-3326 citation-end-3326">\[!WARNING\]<sup class="superscript embedded" data-turn-source-index="114"></sup></span><span class="citation-3324 citation-3325 citation-end-3325"><sup class="superscript embedded" data-turn-source-index="115"></sup></span><span class="citation-3324 citation-end-3324"><sup class="superscript embedded" data-turn-source-index="116"></sup></span> **<span class="citation-3322 citation-3323">Ensure the printer remains powered on and within close proximity to the handheld device during the "Applying Settings" phase</span>**<span class="citation-3322 citation-3323 citation-end-3323"> to avoid corrup<sup class="superscript embedded" data-turn-source-index="117"></sup></span><span class="citation-3322 citation-end-3322">ting the printer firmware.<sup class="superscript embedded" data-turn-source-index="118"></sup></span></p>

# SM-T300 Printer Configuration

<p class="callout info">The SM-T300 Printer is a mobile Bluetooth hardware printer used to issue physical citations from the OPSCOM Enforce application. Its primary purpose is to print physical tickets in the field, and this guide outlines how to configure its core hardware connection and power-saving settings. This article is intended for OPSCOM administrators and field enforcement personnel.</p>

## Setup and Configuration

Before the SM-T300 printer can successfully pair with your Android handheld and print tickets, you must ensure its internal hardware settings are configured to broadcast a standard Bluetooth signal and manage power efficiently. All setup is performed directly on the physical printer using it<span class="citation-2901 citation-2902 citation-end-2902">s hardware buttons.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-2901 citation-end-2901"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

**<span class="citation-2899 citation-2900 citation-end-2900">Admin Side: <sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-2899 citation-end-2899"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>**<span class="citation-2897 citation-2898 citation-end-2898">Administrators should ensure that the printer hardware is fully charged and loaded with thermal paper before distributing it to field staff for configuration.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-2897 citation-end-2897"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

**<span class="citation-2895 citation-2896 citation-end-2896">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-2895 citation-end-2895"><sup class="superscript embedded" data-turn-source-index="8"></sup></span>**<span class="citation-2893 citation-2894 citation-end-2894">Enforcement officers must <sup class="superscript embedded" data-turn-source-index="9"></sup></span><span class="citation-2893 citation-end-2893">follow the hardware button sequences below to properly configure the internal settings of the physical printer before attempting to pa<sup class="superscript embedded" data-turn-source-index="10"></sup></span>ir it with their handheld device.

## <span class="citation-2892 citation-end-2892">Using this Feature<sup class="superscript embedded" data-turn-source-index="11"></sup></span>

<span class="citation-2891 citation-end-2891">Enforcement personnel must interact with the physical buttons on the printer's front panel to navigate its internal menus and adjust the operational modes.<sup class="superscript embedded" data-turn-source-index="12"></sup></span>

### <span class="citation-2890 citation-end-2890">Configuring Bluetooth Mode<sup class="superscript embedded" data-turn-source-index="13"></sup></span>

<span class="citation-2889 citation-end-2889">To pair <sup class="superscript embedded" data-turn-source-index="14"></sup></span>the printer with a handheld device, the printer must be set to the standard Bluetooth mode, rather than UART or Bluetooth (iAP).

1. Hold down the **Feed** button and **Power** button simultaneously for approximately 6 seconds until the printer enters setup mode.
2. Press the **Power** button to cycle through the available connection modes.
3. Stop cycling when the screen displays **Bluetooth.**
4. Hold down the **Feed** button and **Power** button simultaneously for approximately 6 seconds to confirm and save your connection setting.

### Configuring Power Down Settings

To preserve battery life during patrols, you can configure the printer's timeout setting. It can be set to "no power down" or configured to power down automatically after 1 to 5 minutes of inactivity.

1. Turn the physical printer on.
2. Press and hold the **Power** button, then immediately press and hold the **Feed** button at the same time for approximately 5 seconds until the screen becomes backlit and enters Settings mode.
3. Press the **Feed** button to step through the settings menu until the screen displays *PWDN X min off* (where X represents the current timeout duration).
4. Press the **Power** button to cycle through the available timeout options.
5. Press the **Power** button and **Feed** button simultaneously once you have selected your desired wait time.

<p class="callout info">**Configuration Confirmation** Once you save your power down settings by pressing both buttons simultaneously, the SM-T300 will automatically print out a short paper summary of your current settings and return to standard standby mode.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Optimize your battery life:** **Always configure a power down timeout of 3 to 5 minutes to ensure the printer battery lasts through an entire enforcement shift.** Leaving the printer constantly powered on when not actively ticketing will drain the battery prematurely.</span>
- <span style="color: rgb(22, 145, 121);">**Verify connection modes:** **If your Android tablet cannot discover the printer during the initial pairing process, verify that the printer is in standard Bluetooth mode.** If it is accidentally set to Bluetooth (iAP), which is generally reserved for iOS devices, standard Android tablets will struggle to connect.</span>

---

<span style="color: rgb(187, 187, 187); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 1.5em; font-weight: 400;">Supporting References</span>

For more advanced configuration or troubleshooting, administrators can refer t<span class="citation-2888 citation-end-2888">o the official Star Micronics resources and SDK documentation below:<sup class="superscript embedded" data-turn-source-index="15"></sup></span>

- [<span class="citation-2887 citation-end-2887">Star Micronics StarIO SDK Application<sup class="superscript embedded" data-turn-source-index="16"></sup></span>](https://play.google.com/store/apps/details?id=com.StarMicronics.StarIOSDK)
- [<span class="citation-2886 citation-end-2886">SM-T300 Hardware Manual PDF<sup class="superscript embedded" data-turn-source-index="17"></sup></span>](https://opscom.atlassian.net/wiki/download/attachments/754577/SM-T300_hm_en.pdf?api=v2)
- [<span class="citation-2884 citation-2885 citation-end-2885">StarPRNT Android SDK Documentation PDF<sup class="superscript embedded" data-turn-source-index="18"></sup></span><span class="citation-2884 citation-end-2884"><sup class="superscript embedded" data-turn-source-index="19"></sup></span>](https://opscom.atlassian.net/wiki/download/attachments/754577/StarPRNT_Android_SDK_En.pdf?api=v2)
- [<span class="citation-2882 citation-2883 citation-end-2883">Mobile Printer Manual PDF<sup class="superscript embedded" data-turn-source-index="20"></sup></span><span class="citation-2882 citation-end-2882"><sup class="superscript embedded" data-turn-source-index="21"></sup></span>](https://opscom.atlassian.net/wiki/download/attachments/754577/mobile_pm_en.pdf?api=v2)
- [<span class="citation-2881 citation-end-2881">Sta<sup class="superscript embedded" data-turn-source-index="22"></sup></span>rIO POS Printer Android SDK Documentation PDF](https://opscom.atlassian.net/wiki/download/attachments/754577/StarIO_POSPrinter_Android_SDK.pdf?api=v2)

# Enforce System Settings

# System Settings (Enforce)

<p class="callout info">The System Settings area in the OPSCOM Enforce application provides centralized control over the handheld's hardware integrations and local behaviors. Its primary purpose is to allow administrators and officers to configure mobile printers, adjust License Plate Recognition (LPR) camera inputs, and customize ticket formatting directly on the device. This article is intended for OPSCOM administrators and field enforcement personnel configuring their handheld units.</p>

## Setup and Configuration

While the handheld device offers extensive local customization, several foundational settings must be established in the core administrative portal first.

**Admin Side:** Administrators must manage the core organization details, unique device identifiers, and the Next Offence Number through the OPSCOM web portal.

<p class="callout info">**LPR Authorization** To successfully use the LPR features on a handheld unit, an administrator must first toggle the LPR functionality on within the System Settings of the main Admin Portal.</p>

**User Side (Enforcement Staff):**

1. Tap the main application menu icon.
2. Tap **System Settings** to open the configuration interface on the mobile device.

## Using this Feature

The system settings are divide<span class="citation-3310 citation-3311 citation-3312 citation-end-3312">d into four main categories. Enforcement personnel can interact with these menus to tailor the application's performance.<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-3310 citation-3311 citation-end-3311"><sup class="superscript embedded" data-turn-source-index="2"></sup></span><span class="citation-3310 citation-end-3310"><sup class="superscript embedded" data-turn-source-index="3"></sup></span>

### <span class="citation-3307 citation-3308 citation-3309 citation-end-3309">Local Device Settings<sup class="superscript embedded" data-turn-source-index="4"></sup></span><span class="citation-3307 citation-3308 citation-end-3308"><sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-3307 citation-end-3307"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

<span class="citation-3304 citation-3305 citation-3306 citation-end-3306">This section displays read-only device information pulled directly from the admin portal, incl<sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-3304 citation-3305 citation-end-3305">uding the organization name, country of operation, and the device's unique identifier.<sup class="superscript embedded" data-turn-source-index="8"></sup></span><span class="citation-3304 citation-end-3304"><sup class="superscript embedded" data-turn-source-index="9"></sup></span>

### <span class="citation-3304 citation-3305 citation-end-3305">General System Settings</span>

<span class="citation-3304 citation-3305 citation-end-3305">Base settings and information about the device and system.</span>

- **<span class="citation-3304 citation-3305 citation-end-3305">Organization:</span>**<span class="citation-3304 citation-3305 citation-end-3305"> "Name of organization connected to the handheld device".</span>
- **<span class="citation-3304 citation-3305 citation-end-3305">Device Unique Identifier:</span>**<span class="citation-3304 citation-3305 citation-end-3305"> A string of letters and numbers unique to the device being used.</span>
- **<span class="citation-3304 citation-3305 citation-end-3305">Device Name: </span>**<span class="citation-3304 citation-3305 citation-end-3305">Named identifier for your device. </span>
- **<span class="citation-3304 citation-3305 citation-end-3305">Notice Header:</span>**<span class="citation-3304 citation-3305 citation-end-3305"> The automatic header for tickets/notices.</span>
- **<span class="citation-3304 citation-3305 citation-end-3305">Notice Footer:</span>**<span class="citation-3304 citation-3305 citation-end-3305"> The automatic footer for tickets/notices.</span>
- **<span class="citation-3304 citation-3305 citation-end-3305">Date Format:</span>**<span class="citation-3304 citation-3305 citation-end-3305"> Tap to edit the format in which dates are displayed. (Sample date: 07/21/2026 09:18:51)</span>

### <span class="citation-3302 citation-3303 citation-end-3303">Printer Settings<sup class="superscript embedded" data-turn-source-index="10"></sup></span><span class="citation-3302 citation-end-3302"><sup class="superscript embedded" data-turn-source-index="11"></sup></span>

<span class="citation-3300 citation-3301 citation-end-3301">Tap any item in this list to modify how the device communicates with mobile printers and formats phys<sup class="superscript embedded" data-turn-source-index="12"></sup></span><span class="citation-3300 citation-end-3300">ical tickets.<sup class="superscript embedded" data-turn-source-index="13"></sup></span>

- **Bluetooth print driver:** Tap to select the specific printer driver (e.g., Zebra).
- **Saved Bluetooth Printer:** Tap to select the physical paired printer hardware.
- **Paper Width:** Tap to set the width of text on the ticket. (must match the paper roll loaded in your printer).
- **Lines Before Ticket:** Tap to adjust the blank buffer space below the printed company logo.
- **Lines per Ticket:** Tap to set total label height for the printed citation. (blank lines added at the bottom if content is too short).

### Ticket Layout

Tap any item in this list to modify how the device formats physical tickets.

- **Include Client Name and** **Notice:** Tap to enable the ticket to be printed with the organization name and ticket header at the top.
- **Include Dotted Header Line:** Tap to enable the ticket to be printed with a separator line below the header.
- **Show Hyphen in Ticket Number:** Tap to enable the ticket to be printed with a hyphen between the device ID and ticket number.

### Ticket Content

Tap any item in this list to modify what is included in the printed ticket.

- **Include Warning Value:** Tap to show the dollar amount on printed warning tickets.
- **Include Discount Line:** Tap to show early payment discount amount and deadline on the printed ticket.
- **Include $0.00 Towing Charge:** Tap to show towing row on the printout even when the charge is $0.00.
- **Include QR Code:** Tap to print a QR code linking to the ticket payment page on the tickets.
- **QR Code Size:** Tap to select the magnification factor for the printed QR code. (default: 3).

### Violations and Chalking

Tap any item in this list to modify the configuration of violations &amp; chalking usage with the handheld device.

- **Violation Retention:** Tap to select the hours to retain violations for reprint after sync.
- **Chalk Units:** Tap to select the units of measurement you will be using for chalking.
- **Chalk to Violation:** Tap to select the the time until a chalked vehicle is considered in violation. (default is 20 minutes).
- **Use Default State/Province:** Tap to pre-select the most common province/state from the last 3 months.
- **Auto-Chalk:** Tap to enable automatic chalking of all plates on every manual search.
- **Multi-chalk Support:** Tap to allow multiple chalks per vehicle during manual chalking.
- **Evidence Photo:** Tap to enable the system to offer to save a photo after issuing a violation.
- **Permit Misuse Window:** Tap to enable alerts when the same permit is seen on a different plate within this window. (0=off).
- **Require Signature:** Tap to require the officers to capture a signature before submitting a violation.
- **Chalk Reset:** Tap to select the distance of your chalking reset. (default is 1000 meters = 3250 feet).

### LPR Camera Settings

Tap any items in this list to select the configuration of LPR cameras attached to the device and modify scan behavior.

- **Current:** Shows the current camera(s) connected to the system with the option to edit it or delete it.
- **Scan Network:** Tap to find cameras automatically through the network in the area.
- **Enter Manually: Tap to type in the IP address and port to connect to the camera.
- **Min. OCR Confidence:** Tap to select the confidence. Plates below selected percentage are ignored.
- **Auto Chalk Vehicles:** Tap to enable automatic chalking of vehicles during LPR scan.
- **Trigger on Inactive Vehicles:** Tap to enable the LPR cameras to trigger an alarm on vehicles marked as inactive.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Match printer drivers to hardware:** **Always ensure the Bluetooth print driver matches the exact Bluetooth Printer selected.** If these two settings do not align, the printer will fail to connect or will print unreadable code instead of a formatted ticket.</span>
- <span style="color: rgb(22, 145, 121);">**Leverage Auto Synchronization cautiously:** **Carefully consider your Auto Synchronization Frequency based on your field network reliability.** Setting the sync frequency too high in areas with poor cellular reception can drain the device battery as it repeatedly attempts to connect to the database.</span>

# Auto-Update

<p class="callout info">The Setting Device to Auto Update process allows organizations to configure their handheld devices to automatically download and install application updates. Its primary purpose is to ensure that the OPSCOM Enforce app, along with other critical device software, remains on the latest version without requiring manual intervention from field staff. This article is intended for OPSCOM administrators and IT personnel responsible for provisioning enforcement devices.</p>

## Setup and Configu<span class="citation-3576 citation-3577 citation-end-3577">ration<sup class="superscript embedded" data-turn-source-index="1"></sup></span><span class="citation-3576 citation-end-3576"><sup class="superscript embedded" data-turn-source-index="2"></sup></span>

<span class="citation-3574 citation-3575 citation-end-3575">This configuration is performed directly within the Play Store. It does not require any backend adjustments within the OPSCOM administrative portal.<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-3574 citation-end-3574"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

**<span class="citation-3572 citation-3573 citation-end-3573">Admin Side: <sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-3572 citation-end-3572"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>**<span class="citation-3570 citation-3571 citation-end-3571">Administrators configuring the field devices prior to deployment should ensure the device is connected to a stable network and logged into an active account<sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-3570 citation-end-3570"> to access the Play Store settings.<sup class="superscript embedded" data-turn-source-index="8"></sup></span>

**<span class="citation-3569 citation-end-3569">User Side (Enforcement Staff): <sup class="superscript embedded" data-turn-source-index="9"></sup></span>**<span class="citation-3568 citation-end-3568">Generally, field officers do not need to configure t<sup class="superscript embedded" data-turn-source-index="10"></sup></span>his setting if the device was pre-provisioned by administration. If manual configuration is required in the field, follow the steps outlined below.

## Using this Feature

Administrators interact with the Play Store set<span class="citation-3567 citation-end-3567">tings to dictate how the device handles application updates.<sup class="superscript embedded" data-turn-source-index="11"></sup></span>

### <span class="citation-3566 citation-end-3566">Configuring Auto Update Settings<sup class="superscript embedded" data-turn-source-index="12"></sup></span>

1. <span class="citation-3565">Tap the </span>**<span class="citation-3565">Play Store</span>**<span class="citation-3565 citation-end-3565"> application on the handheld device to open it.<sup class="superscript embedded" data-turn-source-index="13"></sup></span>
2. <span class="citation-3564">Locate the </span>**<span class="citation-3564">Menu</span>**<span class="citation-3564 citation-end-3564"> within the app. (For google play you have to press your account icon in the top right corner and scroll down).</span>
3. Tap **Settings** from the slide-out menu.
4. Tap **Auto-update apps** to open the configuration prompt.
5. Select your preferred method of updating: Update all apps over Wi-Fi or mobile data, Update with limited amounts of mobile data, Update over Wi-Fi only or Don't auto-update apps.

<p class="callout warning">**Data Charges and Connectivity** When selecting the option to update apps with both connections, be aware that the device will utilize whatever network is currently active. If the device is not on Wi-Fi, cellular data charges may apply based on your organization's mobile carrier plan.</p>

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Maintain up-to-date software:** **Organizations should establish a business rule to keep auto-updates enabled whenever possible.** Allowing the device to update automatically ensure<span class="citation-3563 citation-end-3563">s field officers always benefit from the latest bug fixes, security patches, and feature enhancements for the OPSCOM application.<sup class="superscript embedded" data-turn-source-index="15"></sup></span></span>
- <span style="color: rgb(22, 145, 121);">**<span class="citation-3562">Monitor cellular data usage:</span>** **<span class="citation-3562 citation-end-3562">If your organization uses strict or limited cellular data plans, consider using the Wi-Fi only update option <sup class="superscript embedded" data-turn-source-index="16"></sup></span>if available on your device's Android version.** This preve</span><span class="citation-3561 citation-end-3561"><span style="color: rgb(22, 145, 121);">nts large app updates from exhausting your monthly cellular data allowance while officers are actively patrolling.</span><sup class="superscript embedded" data-turn-source-index="17"></sup></span>

# Managing Categories

<p class="callout info">The Incident Categories feature allows organizations to classify and organize different types of incidents, such as security events, parking violations, or maintenance requests. Its primary purpose is to help administrators standardize reporting and dispatching by defining a structured hierarchy of categories and sub-categories. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

This feature is managed entirely within the core OPSCOM administrative portal.

**Admin Side:** Hover over **Admin Options** and click **Incidents** then **Categories**. This will open the **Edit Categories and Sub Categories** main page.

<p class="callout info">**Automatic Synchronization** Handheld devices will automatically inherit the updated <span class="citation-3737 citation-3738 citation-end-3738">category and sub-category lists during their regular background synchronization with the core database.</span></p>

## <span class="citation-3735 citation-3736 citation-end-3736">Using this Feature<sup class="superscript embedded" data-turn-source-index="3"></sup></span><span class="citation-3735 citation-end-3735"><sup class="superscript embedded" data-turn-source-index="4"></sup></span>

<span class="citation-3733 citation-3734 citation-end-3734">Administrators can use this interface to build a custom list of incident types, create granular sub-categories, and define operational rules such as field checklist requirements.<sup class="superscript embedded" data-turn-source-index="5"></sup></span><span class="citation-3733 citation-end-3733"><sup class="superscript embedded" data-turn-source-index="6"></sup></span>

### <span class="citation-3731 citation-3732 citation-end-3732">Adding a New Category<sup class="superscript embedded" data-turn-source-index="7"></sup></span><span class="citation-3731 citation-end-3731"><sup class="superscript embedded" data-turn-source-index="8"></sup></span>

1. <span class="citation-3729 citation-3730 citation-end-3730">Scroll to the bottom of the <sup class="superscript embedded" data-turn-source-index="9"></sup></span>**<span class="citation-3729 citation-end-3729">Edit Categories and <sup class="superscript embedded" data-turn-source-index="10"></sup></span>Sub Categories** main page.
2. Click the **Add New Category** button.
3. Enter a descriptive name in the **Category Name** text field.
4. Enable the **In-House** checkbox if this incident type is handled strictly internally.
5. Enter a **GIS** number if applicable for spatial tracking and mapping integration.
6. Enable the option to include this category in system reports, if desired.
7. Click the **Save Incident Category** button to finalize and add the new category to the system.

### Editing an Existing Category

1. Locate the specific category in the listed items on the main page.
2. Click the **pencil icon** next to the category to open the edit screen.
3. Update the category name or specific configuration details as needed.
4. Click the **Save Incident Category** button to apply your changes to the database.

### Managing Sub-Categories

Sub-categories allow you to break down broad incidents into highly specific, actionable events.

1. Click **Sub** next to an existing category on the main list to view its associated sub-categories.
2. Enter a new name in the provided text field to add a new sub-category.
3. Enable the **Required** checkbox under the checklist column if a formal checklist must be completed by the officer when this specific sub-category is selected in the field.
4. Enable the **Include** checkbox if you want this specific sub-category to be visible in statistical reports.
5. Click the **Save SubCategory** button to add the new sub-category to the parent group.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Standardize your naming conventions:** **Organizations should establish a clear and consistent naming convention for all categories and sub-categories.** This prevents duplicate entries and ensures dispatchers and field officers can quickly select the correct option during an active, high-stress incident.</span>
- <span style="color: rgb(22, 145, 121);">**Utilize checklists for complex incidents:** **Enable the checklist requirement for sub-categories that involve multi-step procedures or critical safety protocols.** This ensures field officers follow standard operating procedures when responding to specific incident types, greatly reducing organizational liability.</span>