Understanding the Permit Type Builder
The Permit Type Builder allows you to create and configure permit types that define how parkers can access parking within your system.
Permit types replace traditional registration settings with a more flexible, scalable way to manage parking. They allow you to control who can park, when they can park, how long they can stay, and how much they pay—all in one place.
This article walks through the full workflow of creating a permit type at a high level, so you understand the key components and how they fit together.
Details
Permit Type Name

The Permit Type Name is the label that parkers will see when selecting a parking option.
- This should be clear and descriptive
- Use naming that reflects the use case (e.g., Monthly Parking, Visitor Parking, Evening Permit)
- Avoid internal terminology that may confuse end users
This is one of the most important fields for user experience.
Description

The Description provides additional context about the permit type.
- Explain who the permit is for
- Keep it short and easy to scan
Example: Valid for visitor parking. Maximum stay of 2 hours. No overnight parking permitted.
Enabled in Portal

This setting controls whether the permit type is available in the portal.
- Enabled → the permit type can be accessed by parkers
- Disabled → the permit type is not visible in any user-facing portal flows
When enabled, the permit type can be accessed:
- Via its global link (generated on the permit type)
- Through tenant or location lookup links where the permit type is assigned
Use this to control when a permit type is live without removing or reconfiguring it.
Enabled in Dashboard

This setting controls whether the permit type is active and available.
- Enabled → can be used to create permits in the dashboard
- Disabled → create flow is hidden from all user account-facing flows
You can use this to:
- Prepare permit types in advance through the dashboard
- Temporarily disable access without deleting configuration
Display Order

The Display Order determines the order in which permit types appear to parkers.
- Lower numbers = higher priority (shown first)
- Helps guide users toward the most relevant options
Recommended:
- Prioritize most common or preferred options at the top
- Use consistent spacing (e.g., 1, 10, 20) for flexibility later
Parking
The Parking section defines how the permit behaves in practice. This is where you configure when, where, and how a permit can be used.
It is made up of two parts:
- Parking Settings (per option)
- Global Rules (apply to the entire permit type)
Parking Settings

Parking settings are configured through Parking Options. Each option represents a specific parking configuration (e.g., different durations, times, or prices).
You can create one or multiple parking options depending on your use case.
Each parking option includes:
Dates and Times
Defines when the permit is valid.
You can choose from different scheduling types:
- Specific Date(s): Set exact dates and times for parking
- Date Range(s): Define a start and end date
- Flexible Time: Allow users to choose start and/or end times based on rules

Flexible time options allow you to control:
- When a permit can start (e.g., user-selected, specific days)
- When it expires (e.g., after duration, same day, specific time)
You can also add additional restrictions, such as:
- Minimum or maximum duration
- Time increments
- Daily time windows
- Availability windows (when registration is allowed)
Use flexible time when you want to give parkers control, and fixed dates when the schedule is predefined.
Locations
The Locations setting determines where the permit is valid. You can select one or multiple locations:
- Valid across all locations: Leave Require users to choose a locationoff. The permit will be valid at all selected locations.

- Parker selects a location: Turn Require users to choose a locationon. Parkers must select one of the available locations during registration, and their permit will only be valid at that location.

When requiring a location selection, you can also set location-specific capacity. Once a location reaches its capacity, it will no longer be available for additional parkers to select.
→ Learn more about Multi-Location Parking with Parker's Choice
Pricing
Pricing defines who pays for the permit and how much is charged for each Parking Option.

Choose one of three payment methods:
- No Charge: The permit is free. A $0.00 value is automatically applied, so no pricing amount or payment settings need to be configured.
- Charge to Parker: The parker pays when registering. Select the applicable Payment Setting, then configure the pricing type and amount you want to charge.
- Charge to Organization: No payment is collected from the parker. Instead, configure the pricing type and amount that should be attributed to the organization. These charges are calculated in Reporting, making it easy to determine the total amount to bill back based on permits issued.
Depending on your configuration, you can select a pricing type such as Flat Rate, Daily, or Nightly and enter the applicable rate.
Permit Type Rules
Permit Type Rules apply across all Parking Options within the Permit Type. Use these rules to set overall limits and controls for the entire Permit Type.
Permit Limits
The Active Permit Limit controls the maximum number of permits that can be active at the same time across all Parking Options in the Permit Type.

For example, if the Active Permit Limit is 50, up to 50 permits can overlap at one time. If a parker attempts to register for a permit that would exceed that active capacity, the registration will be blocked.
Because the limit is based on active permits, capacity becomes available again as permits expire.
Example: If an hourly Permit Type has reached its limit of 50 active permits and one permit expires at 2:00 PM, that space becomes available for another permit starting at or after 2:00 PM.
You can also set an Active Permit Limit on an individual Parking Option. This controls how many permits can be active at once for that specific option.

For example:
- 1-Hour Parking: Active Permit Limit of 75
- Day Permit: Active Permit Limit of 40
This is useful when different Parking Options need their own capacity limits.
Permit Type and Parking Option limits can be used together:
- Permit Type Active Permit Limit → shared active capacity across all Parking Options
- Parking Option Active Permit Limit → active capacity for that individual option
Both limits are enforced, so availability is determined by whichever applicable limit is reached first.
Example: If the Permit Type has a limit of 50 and the Day Permit option has a limit of 40, no more than 40 Day Permits can be active at once, while the Permit Type as a whole can never exceed 50 active permits across all options.
Controls how many license plates can be associated with a single permit. You can allow up to 4 plates per permit.
- 1 plate → one vehicle per permit
- Multiple plates → Useful when a parker may need to use different vehicles under the same permit.
All plates associated with the permit are sent to enforcement and may appear as active. However, the permit is intended for one vehicle to be parked onsite at a time.
- Note: How multiple plates are handled or displayed within your enforcement system may vary by integration.
Per Vehicle rules and limits
The Repeat Vehicle Limit controls how many times the same vehicle (license plate) can register for the Permit Type within a defined period.
This is useful when repeat use is allowed, but you want to prevent the same vehicle from repeatedly using the permit without restriction.
You can set:
- The maximum number of registrations per vehicle
- When the limit resets: after a set number of days, weekly, monthly, or never
Example 1: Limit each vehicle to 4 permit registrations per week. Once a license plate has registered four times within that week, it cannot register again until the weekly limit resets.
For weekly limits, you can choose the day of the week the limit resets. For example, if the reset day is Monday, each vehicle can register up to four times before the limit resets the following Monday at 12:00 AM.

Example 2: Daily limit
Limit each vehicle to 1 registration every 1 day. Once a license plate registers, it cannot register again until the limit resets at 12:00 AM the following day.

This rule can be configured at multiple levels depending on how broadly you want the restriction to apply:
- Permit Type → applies across the entire Permit Type
- Tenant within a Permit Type → applies to a specific tenant assigned to the Permit Type
- Tenant Global → applies across the tenant more broadly
→ Learn more about Usage Controls & Repeat Vehicle Limits
The Time per Vehicle rule limits the total amount of time the same vehicle (license plate) can be parked within a defined period.
Unlike Repeat Vehicle Limit, which controls the number of permit registrations, Time per Vehicle controls the vehicle's cumulative parking duration.
You can set a maximum amount of time and choose when that allowance resets: after a set number of days, weekly, monthly, or never.
Example: Limit each vehicle to 40 hours of parking per month. The duration of each permit counts toward the vehicle's monthly allowance. Once the license plate reaches 40 hours, it cannot register for additional parking that would exceed the limit until the allowance resets on the first day of the next month at 12:00 AM.

Time per Vehicle can be configured at multiple levels:
- Permit Type → applies across the entire Permit Type
- Tenant within a Permit Type → applies to a specific tenant assigned to the Permit Type
- Tenant Global → applies across the tenant more broadly
→ Learn more about Usage Controls & Time per Vehicle Limits
When enabled, this rule checks the vehicle's license plate against all tenant deny lists associated with every location on the Permit Type — not only the tenants assigned directly to the Permit Type.

If the license plate appears on any applicable tenant deny list, the vehicle will be blocked from registering for the permit.
Use this rule when you want tenant deny lists to act as a broader restriction across the locations included in the Permit Type.
Access
When enabled, parkers can select a permit start time that is earlier than the time they complete their registration.

Example: A parker registers at 1:00 PM but can set their permit to start at 10:00 AM that same day.
This can be useful when you need to allow permits to be backdated. Leave this setting off if permits should not begin before the time the parker registers.
How Should Unavailable Parking Options Be Displayed?
Controls what parkers see when a Parking Option isn't currently available to book. This may happen because the option hasn't started yet, is outside its availability window, or has reached capacity.

Choose how unavailable options should appear:
- Show as unavailable: The Parking Option remains visible, but is grayed out and cannot be selected. Use this when you want parkers to know the option exists, even when it isn't currently available.
- Hide completely: The Parking Option is removed from view entirely for both Guests and Dashboard users. Use this when you only want users to see options they can currently select.
Tip: This setting applies across the entire Permit Type and determines how all currently unavailable Parking Options are displayed.
Summary
The Parking section allows you to:
- Define when permits are valid
- Control where they can be used
- Set pricing and duration
- Apply global constraints across all options
By combining parking options with global permit type rules, you can support both simple and complex parking configurations within a single permit type.
Directions
The Directions section allows you to provide parkers with clear guidance on where to park.
This helps ensure users arrive at the correct location, especially when a permit type is valid across multiple areas.

Parking Location
Used to guide parkers to the correct parking destination.
- Displays the address and link to map of the parking location
- Can be edited to update location details or adjust mapping
These directions are shown to parkers in the portal after selecting or purchasing a permit.
When to use Directions
Use this section when:
- Parking locations may be difficult to find
- You want to provide additional clarity or confirmation
- A permit type applies to specific or multiple locations
Tenants
The Tenants step allows you to control who can access a permit type, apply optional limits, and manage tenant-specific portal links.
This step is optional but recommended when you want to restrict access or track permits by tenant in Reporting.
What this step does
Using tenants, you can:
- Define eligibility: Control which tenants can create permits using this permit type
- Tag permits with tenant context: Helps with reporting, enforcement, and integrations
- Apply tenant-level limits: Set additional caps per tenant (optional)
- Generate tenant-specific portal links: Provide direct access links for specific tenant groups
Adding Tenants
Use the tenant picker to search for and select the tenants that should be associated with this Permit Type.


Supported tenants include:
- Tenants connected to the selected location(s) for the Permit Type
- Global tenants connected across all locations
Tip: If you don't see the tenant you need, confirm that the tenant is connected to the location(s) configured for the Permit Type and that the correct location(s) were selected in the Locations step.
Each tenant you add will appear as a row in the Tenants list.
Tenant Limits
Each limit below applies specifically to the selected tenant(s) within this Permit Type, allowing you to customize how each tenant can use the Permit Type:
- Plate Limit per Permit: Controls how many license plates can be added to each permit created for this tenant within the Permit Type.
- Active Permit Limit: Limits how many permits this tenant can have active at the same time within the Permit Type.
- Time per Vehicle: Limits how much total parking time the same vehicle can use through this tenant within the Permit Type during a defined period.
- Repeat Vehicle Limit: Limits how many times the same vehicle can register through this tenant within the Permit Type during a defined period.

To customize one tenant, open the three-dot menu beside the tenant and select Edit.


Set Limits for All Tenants
If multiple tenants should use the same limits, click Set limits for all Tenants to configure default limits for all tenants added to the Permit Type.


You can still edit an individual tenant afterward if it requires different limits.
A tenant may also have global usage limits configured outside of this Permit Type. Global tenant limits apply to the tenant more broadly, while the limits configured here apply specifically to the tenant's use of this Permit Type.
For applicable controls, you can enable Ignore the Tenant's global limit. When enabled, Offstreet uses the limit configured for the tenant on this Permit Type instead of that tenant's corresponding global limit.
For example, Ignore the Tenant's global vehicle limit allows the Repeat Vehicle Limit configured here to apply without also enforcing the tenant's global vehicle limit.
→ Learn more about Usage Controls and Tenant Limits
How Limits Work
Tenant limits are optional additional caps.
They work alongside other limits in the system:
- Permit Type limits
- Parking option / location limits
- Tenant limits
Rule:
The most restrictive limit always applies
Example:
- Permit Type limit = 100
- Tenant limit = 50→ Effective limit = 50
Behaviour & Interactions
- Adding a tenant → appears immediately in the list
- Removing a tenant → removes instantly (no confirmation)
- Limits are optional and do not require input
- Portal links are created and managed per tenant
Summary
The Tenants step allows you to:
- Control who can access a permit type
- Apply optional per-tenant limits
- Generate tenant-specific access links
- Add context and structure to permits
If no tenants are added, the permit type is available to all users based on its other access and configuration settings.
Codes
The Codes step allows you to restrict access to a permit type using access codes.
This is useful when you want to limit registration to a specific group of users, such as employees, residents, or event attendees.
Require Codes to Register

Enable this setting to require users to enter a valid code before they can register for a permit.
- Enabled → only users with a valid code can access the permit
- Disabled → permit is available without a code
Use this when access should be restricted or controlled.
Code Management Modes
There are two ways to manage codes:
1) Basic Mode
Use a single shared code for all users.
- Simple to set up
- Best for small groups or low-control scenarios
2) Advanced Mode

Enable Advanced to manage multiple codes with additional controls.
This unlocks:
- A dedicated Codes table
- Per-code limits and configuration
- Additional metadata per code
Recommended for larger groups or when tracking usage is important.
Managing Codes
In Advanced mode, you can create and manage multiple codes.
Each code includes:
1) Code
The value users must enter to gain access.
- Must be unique
- Can be shared or distributed as needed
2) Override Use Limit (Optional)

Override the default usage limit for this specific code.
- If enabled, the code will use its own limit
- If reset, it will return to the override value
3) Advanced Code Settings
When Advanced mode is enabled, additional configuration becomes available:
Title
Controls the label shown to users in the portal.
Example: “Access Code” or “Employee Code”
Description
Provides instructions or context for users.
Example: "Enter the code provided by your employer"
Limit Code Usage

Restrict the total number of times a code can be used.
- Applies across all users
- Helps control distribution and reuse
Limit Permits per Code

Restrict how many permits can be created using a single code at one time.
- Useful for group-based allocations
Limit Time Usage

Restrict the total amount of parking time that can be used with a code within a defined period.
- Tracks cumulative permit duration using the code
- Can reset after a number of days, weekly, monthly, or never
- Helps control how much total parking time a code provides
Additional Information (Optional)

Store extra data on codes.
Examples:
- Name
- Employee ID
- Internal reference
This can be used for tracking purposes.

Behaviour & Interactions
- Codes are managed in a searchable table
- New codes can be added individually
- No codes → no access (if “Require codes” is enabled)
- Advanced mode enables full code lifecycle management
Summary
The Codes step allows you to:
- Restrict access to specific users
- Control how permits are distributed
- Track and manage usage through individual codes
You can use simple shared codes or advanced configurations depending on your needs.
Settings
The Settings step allows you to customize the registration experience, collect additional information, and control how parkers interact with their permits.
This step is optional and is typically used to tailor the experience to your specific operational needs.
Instructions
Add custom instructions that are shown to parkers at different stages of the experience.
If left blank, default location-level or tenant-level instructions will be used.

Pre-registration Instructions
Displayed before the user begins registration.
Registration Confirmation Instructions
Shown after a permit is successfully created.
Expiring Soon Instructions
Used in reminder emails and SMS messages before a permit expires.
Email Address Required
Require parkers to enter an email address.
Used for receipts and notifications
Collect Additional Information
Enable this setting to collect extra information from parkers during registration.

- Add custom fields such as:
- Name
- Employee ID
- Unit number
- Any other identifiers
For each field, you can configure the label, input type, description, and whether it is required.
Turn on Internal use only for information that should only be visible and editable by Dashboard users.
- The field will not appear to parkers during registration or when managing their permit
- Dashboard users can complete or update the field when creating or editing a permit
- Useful for internal notes, reference numbers, classifications, or other administrative information that parkers do not need to see
Parker Self-Service
Give Parkers control to update their permits! Also add custom instructions for this and similar processes

When enabled, parkers can make updates like editing their plate or canceling their permit directly from their confirmation email, without needing to contact your team for help.
Self serve options available:
- Edit vehicles and cancel
- Edit vehicles only
- Cancel permits only
- No self-service
Branding

Upload a logo to customize the permit type experience.
- Displayed in the portal during registration
- Helps align the experience with your organization or client
Attachments
Share up to 3 files with parkers after registration.

SMS Expiry Notifications
Enable to send reminder messages to users before their permit expires.

You can customize how expiry reminders work for each Permit Type:
- Phone Number Required: Optionally require parkers to provide a mobile phone number, ensuring they can receive the SMS expiry reminder.
- Expiry Reminder Time: Choose how far in advance the reminder is sent based on the parking experience.
- Expiry Instructions: Uses the customizable Expiring Soon Instructions content. If no Expiry Instructions are configured at the Permit Type, Tenant, or Location level, the parker will receive a generic expiring-soon notification.
Examples:
- 15-minute high-turnover parking: Send the reminder 5 minutes before expiry and require a phone number so parkers are notified before their parking time ends.
- All-day parking: Send the reminder 30 minutes before expiry and leave the phone number optional for parkers who want to receive SMS reminders.
Terms & Conditions
Add terms that parkers must review and accept before completing their registration.
When enabled, Accept Terms becomes a required step in the permit registration process. This is useful for communicating policies that parkers must acknowledge before receiving their permit.

Common uses include:
- Parking rules and regulations
- Permit policies
- Refund or cancellation policies
- Other required agreements
You can add one or multiple Terms & Conditions and preview them before making the Permit Type available to parkers.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article