OperationsCommander - https://opscom.wiki

OC Prime - New Temp Permit Functionality

The Temporary Permit Rate Templates feature allows administrators to control pricing, eligibility, and special conditions for temporary parking permits on a per-lot basis. Its primary purpose is to define how temporary permit pricing is calculated using assignable templates with customizable hourly rates and priority layers. This article is intended for OPS-COM administrators.

Setup and Configuration

Before issuing temporary permits using the rate template engine, you must enable the feature on the target lot and assign your pricing templates.

Enable Temp Permit Templates on a Lot

    1. Navigate to the Parking Management module, hover over Lot Administration, and click Pricing & Lot Admin.

    2. Select the lot you wish to configure.

    3. Click the Rate Template tab and toggle on Use New Booking Flow (Enable new temp permits for this lot).

This is where you build the "shape" of your pricing — painting different scenarios (peak hours, overnight, weekends) directly onto a calendar instead of configuring rules in the abstract.

Create and Configure Rate Templates

  1. Navigate to the Parking Management module, hover over Lot Administration, and click Rate Templates.

  2. Click the + Create New button to open a blank template.

  3. Enter a Template Name and optional Description.

  4. In the Brushes section, click + Add Brush to create brushes by setting a Name, Price, and Colour.

  5. Select the Brush tool (or click Select next to a created brush) to paint pricing onto hourly sections of the day.

  6. Click Select next to the Eraser brush to mark specific hourly slots as unbookable or to correct an error.

  7. Hold shift and click multiple consecutive time slots in the grid, then click Merge Selected Hours into Block to open the Merge into Block window:

    • Enter the Block Name, Flat Price for Entire Block ($), and choose a Block Color.

    • Modify the Sale End (modify for Early Bird) field if you want to set a cutoff time where the special rate stops being bookable.

    • Click Merge to save the block.

  8. Edit existing brushes anytime by clicking the Edit button next to them.

  9. Click Update Template to save your changes.

Unpainted Time Slots: Any hourly section left unpainted is treated as not bookable. Users cannot book a permit or park in the lot during that time.

Fixed Rate Blocks and Early Bird Pricing: Merge time slots into a single block when you want to charge one flat price for a stretch of time, or when you want to reward early purchases with a discounted rate that disappears after a cutoff time (Early Bird pricing). Once a cutoff time passes, the rate automatically reverts to whatever regular layer pricing applies to that time block. 

Layers and Priority Calculation

Layers let you handle exceptions without rebuilding your whole pricing — e.g., a holiday rate that should always win, layered on top of your everyday template.

Each template can contain multiple layers, and each layer is assigned a priority and schedule type.

Adding Rate Layers & Specific Date Pricing (Holidays/Events)

  1. While editing a template, navigate to the Rate Layers section and click + Add Layer.

  2. Configure the layer settings in the New Layer window:

    • Layer Name: Enter a descriptive name (e.g., Holiday Pricing, Special Event).

    • Priority: Select the layer priority. Higher-priority layers override lower-priority layers for the entire day.

    • Layer Type: Choose Weekly Schedule for regular recurring weekly pricing, or Date Override for specific calendar date overrides.

    • Repeat annually: (Appears when Date Override is selected) Check this box for recurring annual holidays and select the Month & Day, or uncheck it for a one-time event date.

  3. Click Create Layer to add it to the template.

  4. Ensure the newly added layer is selected in the Rate Layers list, then use your brushes to paint the 24-hour grid for that layer.

  5. Click Update Template to save all layer changes.

Assigning Templates to a Lot

This is where you decide who can use a given template, and how many permits it can cover — useful for scenarios like staff-only rates or capacity-limited event pricing.

  1. Navigate to the Parking Management module, hover over Lot Administration, and click Pricing & Lot Admin.
  2. Select the lot you wish to configure and click the Rate Template tab.
  3. Click Add Assignment.
  4. Select the Template you wish to assign.
  5. Select the eligible User Types who can access this template. Only user types already enabled for the lot will be available.
  6. (Optional) Enter a Password if you wish to restrict access to this template.
  7. (Optional) Enter a Max Permits value to set a permit issuance cap for this specific template assignment.
  8. Click Save to apply the configuration.

Promo Codes

Built for scenarios like volunteer parking, private group rates, or limited-time discounts — visible only to people who have the code.

  1. Navigate to the Parking Management module, hover over Lot Administration, and click Promo Codes.

  2. Click the + Create New button to open the Create Promo Code window.

  3. Configure the promo code details:

    • Code: Enter the code string (automatically converted to uppercase; must be unique per lot).

    • Lot: Select the target lot from the dropdown.

    • Restrict to Assignment (optional): Select a specific template assignment, or leave as — Any assignment — to apply to all bookings at this lot.

    • Discount: Enter the discount percentage.

    • Active From & Expires: Select the start and expiration dates for the code.

    • Max Uses (optional): Enter a maximum redemption cap, or leave blank for unlimited uses.

  4. Click Save to create the promo code.

User Booking Flow

The goal on the parker side is getting from "I need to park" to "I'm parked" in as few taps as possible, while still surfacing special offers to those who qualify.

1.  Time & Vehicle Selection:

2. Pricing Review & Payment:

Admin-Side Permit Issuance

Administrators can issue temporary permits directly from a user's profile using the configured lot rate engine:

  1. Navigate to the desired user's profile and click the Parking tab.

  2. Locate the target lot under Manage Lots and click the Temporary Permit button.

  3. In the Temporary Parking Permit Registration window, select or confirm the Requested Lot.

  4. Set the Start and End dates and times.

  5. Select the Vehicle from the user's registered vehicles list.

  6. (Optional) Check Apply to all Vehicles if issuing a multi-vehicle temporary permit.

  7. Enter or verify the auto-generated Permit #.

  8. Click Confirm Booking to proceed to payment and finalize the issuance.

Concept Overview

Concept Behavior
Unpainted time slot

Not bookable.

Highest priority layer

Always wins for the entire day. Lower-priority layers are excluded completely (no gap-filling).

Date override layer

Evaluated as highest priority for that specific date and completely replaces weekly schedules.

Fixed rate block

No proration; full price charged for any partial use within the block.

Single hourly block

Prorated to actual time used.

Multiple eligible templates

Evaluated independently; cheapest template rate is auto-selected (no cross-template layer mixing).

Promo code

Percentage discount applied pre-tax. One use per user per code; freed up if permit is removed from cart before purchase.

Max permits limit

Template assignment limit acts as a sub-limit within the lot's overall maximum permits.


Best Practices and Considerations

Developer Note on Time Blocks: The sale_start, sale_end, and valid_until fields on time blocks are time-only reference values stored against a placeholder date. They must never be given a timezone cast. Doing so causes the weekly rate grid to silently stop rendering saved blocks. A code comment flags this at the cast site and must not be removed.


Take Command of Your Parking and Security - https://OperationsCommander.com

Revision #9
Created 27 July 2026 12:30:12
Updated 21 October 2026 16:21:59