# Printing Permit from Home Setup

<p class="callout info">The Permit Printing from Home feature allows end-users to generate and print a physical copy of their parking permit directly from the user portal. Its primary purpose is to provide administrators with the tools to configure printable permit templates and enable self-service printing to streamline permit distribution. This article is intended for OPS-COM administrators.</p>

## Setup and Configuration

Configuring this feature is a two-part process. Administrators must first enable the feature within the system settings and then customize the associated print templates.

**Admin Side:**

1. Hover over **System Configuration** and click **System Settings**.
2. Click the **Permits** tab.
3. Enable the **Enable User Permit Printing** checkbox.
4. Click the **Save Settings** button.

**Locating the Permit Print Templates:**

The printable permits are generated from standard system messages.

1. Hover over **System Configuration**, click **Content and Design**, and then click **Pages and Content Blocks**.
2. Click the **Messages** tab.
3. Locate and edit the messages where the **System Location** column is labeled **permitPdf** (for regular printed permits) and **permitTempPdf** (for temporary printed permits).

**User Side:** Once the global setting is enabled, users will see a new option to print their active permit directly from the user portal interface. For a detailed guide on the user-facing process, please refer to the [Printing Your Parking Permits Made Easy!](https://opscom.wiki/books/OPSCOM-user-portal/page/printing-your-parking-permits-made-easy) article.

## Using this Feature

Administrators interact with this feature primarily by designing and updating the system message templates that generate the final PDF document.

Use the content editor on the **permitPdf** and **permitTempPdf** messages to design the layout of your printable permit. You can freely use a combination of text, images (like your organization's logo), and specific shortcodes to dynamically pull in live permit and user information.

### Available Shortcodes

The following shortcodes can be inserted within the message body to display dynamic permit information:

- **\[permitpdf user=fullname\]**: Displays the full name of the user.
- **\[permitpdf vehicle=all\]**: Displays a comma-separated list of up to three associated vehicles.
- **\[permitpdf vehicle=1\]**: Displays the first vehicle on the permit. You can also specifically use **vehicle=2** or **vehicle=3**.
- **\[permitpdf per<span class="citation-241">mit=expiry\]</span>**<span class="citation-241 citation-end-241">: Displays the permit's exact expiry date.<sup class="superscript embedded" data-turn-source-index="1"></sup></span>
- **<span class="citation-240">\[permitpdf permit=permitno\]</span>**<span class="citation-240 citation-end-240">: Displays the unique permit number.<sup class="superscript embedded" data-turn-source-index="2"></sup></span>
- **<span class="citation-239">\[permitpdf permit=lotshortname\]</span>**<span class="citation-239 citation-end-239">: Displays the short name of the associated lot.<sup class="superscript embedded" data-turn-source-index="3"></sup></span>
- **<span class="citation-238">\[permitpdf permit=lotname\]</span>**<span class="citation-238 citation-end-238">: Displays the full name of the associated lot.<sup class="superscript embedded" data-turn-source-index="4"></sup></span>
- **<span class="citation-237 citation-end-237">\[permitpdf per<sup class="superscript embedded" data-turn-source-index="5"></sup></span>mit=location\]**: Displays the location associated with the permit.

<p class="callout info">To quickly use the recommended defau<span class="citation-236 citation-end-236">lt template provided by the system, you can leave the content editor body as the default text. However, ensure you actively edit the document to change any placeholder logos or generic company names to match your specific organizational branding.</span></p>

---

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

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

- <span style="color: rgb(22, 145, 121);">**<span class="citation-234">Always test your template before deploying:</span>** **<span class="citation-234 citation-end-234">Af<sup class="superscript embedded" data-turn-source-index="8"></sup></span>ter creating your message, print it out to ensure the layout, shortcodes, and any images appear correctly on a physical page.** Virtual PDFs can sometimes render slightly differently than printed paper, so physical testing prevents scaling or cutoff issues.</span>
- <span style="color: rgb(22, 145, 121);">**Include clear display instructions for the user:** **It is highly recommended to add text to the template that explicitly instructs the user on how to display the permit.** Clear instructions (e.g., "Please display this permit face-up on the driver's side of your dashboard so it is fully visible through the windshield") significantly aid your enforcement team in the field.</span>