# Integrations and Partners

# Integrating with OPSCOM

## <span class="legacy-color-text-blue3">Considerations for Scoping an Integration </span>

<span class="legacy-color-text-blue3">Regardless of the integration we are scoping we need the following questions answered.</span>

1. <span class="legacy-color-text-default">What are the endpoints; where will we connect and send data? </span>
    1. <span class="legacy-color-text-default">What system or URL are we querying?</span>
    2. <span class="legacy-color-text-default">Test system logins and a test endpoint address to which we can send queries to.</span>
        1. <span class="legacy-color-text-default">we will need the same for production systems </span>
2. <span class="legacy-color-text-default">Are there additional (special) API endpoints and/or API tokens to access the system? </span>
3. <span class="legacy-color-text-default">What API/SDK is recommended?</span>
    1. <span class="legacy-color-text-default">at the core the OPSCOM platform is built on PHP; we also work with Java and many other languages</span>
4. <span class="legacy-color-text-default">Supporting documentation for the API/SDKs that we are integrating with</span>
    1. technical contact(s); either on location and/or for the vendor.
5. <span class="legacy-color-text-default">How will the data (or user) flow through the system? ie. business logic/flow</span>

## For Network Administrators

Our development servers are behind:

- 208.124.170.242
- 178.128.233.75

Our production servers are behind:

- 209.217.117.82
- 159.203.14.67

## <span class="inline-comment-marker" data-ref="b8fa4083-47d7-433f-b638-85bc55645de8">Information Flow</span> through OPSCOM

This example shows the flow of information through the integrated system of record and OPSCOM.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/bfhimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/bfhimage.png)

### Sample: SSO Integration

This example shows the flow of a user through the system, and at what points the client wanted us to apply business logic.

Notice that in their implementation they also described the flag that would be used to designate special users in the system.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/D7Eimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/D7Eimage.png)

### Sample: LDAP/Active Directory Integration

This represents a standard flow of information to support LDAP/AD user validation.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/eJ9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/eJ9image.png)

## Current APIs Available

**<span data-colorid="qqf7mq8vfi">Operations</span>**<span class="legacy-color-text-red2">Commander</span><span data-colorid="ylh3whlu13"> </span><span data-colorid="wq2melhhao">(OPSCOM)</span><span class="legacy-color-text-blue3"> has made APIs (Application Programming Interface) available that allow for third-parties with proper authentication to interact and manipulate data in OPSCOM as needed to accomplish specific functions, for example adding valid permits from pay and display machines.</span>

## Other Integrations Available

OPSCOM has integrations with third-parties. Your Sales Rep can discuss how you can make use of these integrations.

- T2 Luke II Meters
- CALE Meters
- MacKay Meters
- Tattile Cameras
- Vaxtor Cameras
- gTechna Cameras
- HotSpot Temporary Permits

# Parking Logix - Parking Sensor Integration

## Enable Parking Logix Integration

Before you can use the Parking Logix integration on your system you will need to navigate to your **Third Party** settings under **System Settings**.

From there you should see the option to enable **Parking Logix Integration**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/nBJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/nBJimage.png)

## Adding the Lot Group

<span class="legacy-color-text-blue3">Next, add a new lot group to your system making sure you include the API code. It is possible but unlikely that there will be multiple API keys if lot access is split over several keys. </span>

<span class="legacy-color-text-blue3">Create a specific group for each lot you will be collecting data from.</span>

It's important to note that you will also need to enter the Parking Logix specific name for the lot and it must match exactly.

For example, in the image below, the Parking Logix name is *Mountaineer Garage*.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/BZuimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/BZuimage.png)

Once the Lot Group has been configured you would need to assign it to the lot on the **LPR Settings Tab** of the Lot Administration tool.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/eWdimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/eWdimage.png)

## Enable the System Task

A system task must be enabled for the Parking Logix sensors to communicate with our system.

This must be enabled by OPSCOM integration staff and you can contact us through support to set this up. Please email <support@ops-com.comcom> for assistance.

Once the system task has been run you should see updated on the lot counts under **Manage Parking Lot Groups**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/1bximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/1bximage.png)

## Displaying the Map on the User Side

Finally, enter the short code on the user side to any of your pages using **System Messaging**.

For more information on how system messaging works please see: [https://wiki.OPSCOM.com/x/M4QCAw](https://wiki.OPSCOM.com/x/M4QCAw) followed by **Editing Pages**.

The short code is<span class="legacy-color-text-blue3"> </span>**<span class="error legacy-color-text-blue3">\[parking\_logix\]</span>**<span class="legacy-color-text-blue3"> and you can pass addition parameters such as: *only, show, filter,* or *name.* This will restrict the list to show only specific lots.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/QB4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/QB4image.png)

<span class="legacy-color-text-blue3">By design, it will only show lots that have a group assigned to it that have an API key stored in it.  
</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/POOimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/POOimage.png)

<span class="legacy-color-text-blue3">  
</span>

# Mistall - Setup & Functionality

## Overview<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

Mistall is a service that is used to count cars in a physical lot, using cameras to track vehicles as they enter and exit the lot.

Within the OPSCOM system, each Mistall lot is associated to a Lot Group.

## Mistall Credentials<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

Mistall credentials need to be entered in system settings under third-party settings to be able to use the <span data-highlighted="true"><span class="_11q7y4f7 _5pioz8co _189eyh40 _1il9nqa1 _19lc184f _d0altlke acronym-highlight" data-testid="acronym-highlight">API</span></span>.

Credentials are provided to the the client by Mistall itself.

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-1hr1i4h" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="419" data-width="700" data-width-type="pixel" id="bkmrk-"><div class="cc-sl6008"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div data-alt="image-20240409-201754.png" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="348" data-id="6445a395-41a6-4055-b67a-9b8c788f97cb" data-node-type="media" data-renderer-start-pos="420" data-type="file" data-width="656">[![1_a2b75cde-54a7-40cb-bb96-6017e67b8f27.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/1-a2b75cde-54a7-40cb-bb96-6017e67b8f27.png)](https://opscom.wiki/uploads/images/gallery/2024-06/1-a2b75cde-54a7-40cb-bb96-6017e67b8f27.png)</div></div></div></div>## Lot Groups<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The Lot Groups page was updated to accommodate the use of Mistall.

In addition, Lot Groups have replaced the use of Lots on the Real-Time map on both the admin and user sides.

To have data populate the Mistall Lot ID dropdown, the Update Mistall System Job Task must be run at least once to import the data into the system.

Columns have been added for setup with the Real-Time Map and Mistall data. These are the following fields.

- Map color - map icon color
- Latitude and longitude - location on the map, selected by putting a point on the map
- Show on Real-Time map - Select if the group will appear on the real-time map
- Mistall Lot ID - which Mistall lot the Lot Group correlates to (Supplied by Mistall)

<div data-layout-section="true" id="bkmrk-lot-group-page-updat"><div data-column-width="66.66" data-layout-column="true"><div class="cc-1jke4yk"><div class="rich-media-item mediaSingleView-content-wrap image-center cc-y3zgtz" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="1091" data-width="760" data-width-type="pixel"><div class="cc-1smov7o"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>  
</div><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="728" data-id="31072106-4101-4656-93be-0b10cfec674f" data-node-type="media" data-renderer-start-pos="1092" data-type="file" data-width="1092">  
<table border="1" style="border-collapse: collapse; width: 100%; border-width: 1px; border-style: hidden; height: 361.25px;"><colgroup><col style="width: 70%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 331.953px;"><td style="height: 331.953px;">[![2_b9bfb86f-8e4e-4e2b-b22c-4af7f95ddb47.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2-b9bfb86f-8e4e-4e2b-b22c-4af7f95ddb47.png)](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2-b9bfb86f-8e4e-4e2b-b22c-4af7f95ddb47.png)</td><td style="height: 331.953px;">[![3_e390bd38-8778-40de-83da-82d93e374d99.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3-e390bd38-8778-40de-83da-82d93e374d99.png)](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3-e390bd38-8778-40de-83da-82d93e374d99.png)</td></tr><tr style="height: 29.2969px;"><td class="align-center" style="height: 29.2969px;">Lot Group page updates.</td><td class="align-center" style="height: 29.2969px;">The updated lot group edit pop-up.</td></tr></tbody></table>

</div></div></div></div></div></div></div><div data-layout-section="true" id="bkmrk--1"><div data-column-width="33.33" data-layout-column="true"><div class="cc-1jke4yk"><div class="rich-media-item mediaSingleView-content-wrap image-center cc-15smn3l" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="1125" data-width="258" data-width-type="pixel"><div class="cc-prubcq">  
</div></div></div></div></div>## Lot Edit<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

This group must be associated to the lots you wish to configure for Mistall use. In the lot editor on the General tab, you will find the Lot Group Field. select the associated Lot Group from the drop down.  
  
***Note:** This field to set the lot group has been moved from the <span data-highlighted="true"><span class="_11q7y4f7 _5pioz8co _189eyh40 _1il9nqa1 _19lc184f _d0altlke acronym-highlight" data-testid="acronym-highlight">LPR</span></span> section to this General section. This is to allow clients who are not using the <span data-highlighted="true">LPR</span> system to still use the real-time map features.*

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-g54mhi" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="1407" data-width="760" data-width-type="pixel" id="bkmrk-lot-edit-page."><div class="cc-17b8omi"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="398" data-id="90ca66b3-bfb7-4cc2-8065-101efee3bebd" data-node-type="media" data-renderer-start-pos="1408" data-type="file" data-width="898">[![4_321d60f9-4185-41c2-bdc7-210377903852.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/4-321d60f9-4185-41c2-bdc7-210377903852.png)](https://opscom.wiki/uploads/images/gallery/2024-06/4-321d60f9-4185-41c2-bdc7-210377903852.png)</div></div></div><div class="cc-1wlpsko align-center" data-media-caption="true" data-renderer-start-pos="1409" data-testid="media-caption">Lot edit page.</div></div>## Dashboard Widget <span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The imported Mistall data can be displayed on the dashboard in a widget.

The widget is named **<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#4c9aff">mistall-lot-stats</span>**.

If the system setting for **Enable Mistall Usage** is not enabled, this widget will not appear in the edit dashboard page.

The widget shows the raw Mistall data. The names of the lot groups associated to the data will be shown beside the bar chart.

***Note:** If the Mistall data is not yet associated to a lot group, it will show the Mistall lot name instead. This is the name given to the lot by Mistall.*

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-1rmyr6u" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="1956" data-width="616" data-width-type="pixel" id="bkmrk-mistall-dashboard-wi"><div class="cc-mnh0x6"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>  
</div><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="196" data-id="c5d805da-7dcd-4585-ac7a-73a8230886b7" data-node-type="media" data-renderer-start-pos="1957" data-type="file" data-width="616">[![5_8c58357e-0936-4dcf-aa81-d5f454957d0d.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/5-8c58357e-0936-4dcf-aa81-d5f454957d0d.png)](https://opscom.wiki/uploads/images/gallery/2024-06/5-8c58357e-0936-4dcf-aa81-d5f454957d0d.png)</div></div></div><div class="cc-1wlpsko align-center" data-media-caption="true" data-renderer-start-pos="1958" data-testid="media-caption">Mistall dashboard widget.</div></div># Real-Time Maps<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The admin and user-side real-time maps have been updated to use lot groups in additional to the individual lots as pins on the map.

**The functionality of the maps is not dependent on the use of Mistall in a system.**

If your system doesn’t have the Mistall integration enabled, the lot groups will use the data of the associated lots in place of Mistall data for the real-time maps.

## Admin-Side Map<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The admin map has been updated to use lot groups.

When a lot group is clicked on, it will show the new popup.

The donut graph at the top shows the Mistall lot data, and the Lot Info section under that shows the individual lot data. The bar charts below show the same lot info as above broken down by individual lot.

***Note:** If the lot group has no Mistall data associated to it, it will use the collated counts of the lot info below instead.*

If Mistall data is being used for the lot, it is likely it will not match the counts shown in the lot info window below. It is intentional that the information will not match.

The intention is that the client will be able to see the difference between what is physically present in the physical lot (lot group Mistall stats) and what the permits purchased within the system look like in comparison.

For example, if the lot is physically empty but is maxed out on purchased permits, the number of available permits can be increased for that lot.

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-g54mhi" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="3342" data-width="760" data-width-type="pixel" id="bkmrk-admin-side-map."><div class="cc-18rf98j"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>  
</div><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="546" data-id="cd6c691b-dc3c-4f3b-91c9-b78514aab49e" data-node-type="media" data-renderer-start-pos="3343" data-type="file" data-width="922">[![6_3df4add1-3520-4dd6-89b2-5e4b200b2121.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/6-3df4add1-3520-4dd6-89b2-5e4b200b2121.png)](https://opscom.wiki/uploads/images/gallery/2024-06/6-3df4add1-3520-4dd6-89b2-5e4b200b2121.png)</div></div></div><div class="cc-1wlpsko align-center" data-media-caption="true" data-renderer-start-pos="3344" data-testid="media-caption">Admin-Side map.</div></div>## User-Side Map<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The user-side map has also been updated to use lot groups.

As before, the user map is made to appear by placing the shortcode on a client-created page.

There are two shortcodes available to use for the real-time map.   
**\[real-time-map\] -** Displays the actual map.  
**\[real-time-legend\] -** Displays a legend explaining the color coding used in the map.

The user-side map will now appear like this:

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-g54mhi" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="3628" data-width="760" data-width-type="pixel" id="bkmrk-user-side-real-time-"><div class="cc-chqzg9"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="498" data-id="35a7b1d5-5555-4d83-af95-0505e5950b56" data-node-type="media" data-renderer-start-pos="3629" data-type="file" data-width="918">[![7_237b667b-3f62-4b59-a5c5-b71611899abd.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/7-237b667b-3f62-4b59-a5c5-b71611899abd.png)](https://opscom.wiki/uploads/images/gallery/2024-06/7-237b667b-3f62-4b59-a5c5-b71611899abd.png)</div></div></div><div class="cc-1wlpsko align-center" data-media-caption="true" data-renderer-start-pos="3630" data-testid="media-caption">User-side real time map.</div></div>The donut graph at the top shows the Mistall data if it is present. If the lot group does not have an associated Mistall lot, it will show the collated counts of the lot info below.

The lot info shown below the donut graph is from the permit counts in the system.

Unlike the admin-side map, the information here is presented as a percentage instead of the actual numbers. This is to allow for some leeway for any inaccuracy.

The icons to the right display if the lot allows standard or temporary permits.

- Green is standard.
- Yellow is temp.

The map should be accessible for Guest Users who are not logged in. If the user is logged in, they will be able to see standard permits and temp permits, but if they are not logged in, they will only be able to see temp permits.

The book permit button now takes the user to a new page used for selecting a permit from within the selected lot group.

## User-Side Lot Group Page<span class="heading-anchor-wrapper" role="presentation"><button aria-label="Copy link to heading" class="cc-1r0b9w7" type="button"><span aria-label="Copy" class="cc-1afrefi" role="img"><svg height="24" role="presentation" viewbox="0 0 24 24" width="24"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"></path><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"></path></g></svg></span></button></span>

The lot group page shows much the same data as the regular permit page, just with the data specific to the selected lot group.

<div class="rich-media-item mediaSingleView-content-wrap image-center cc-g54mhi" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="4706" data-width="760" data-width-type="pixel" id="bkmrk-lot-group-page."><div class="cc-1mpcv1m"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>  
</div><div data-alt="" data-collection="contentId-69926980" data-context-id="69926980" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="720" data-id="99fcc5b1-5aae-429d-b303-e4339cb00080" data-node-type="media" data-renderer-start-pos="4707" data-type="file" data-width="910">[![8_9a0ff1dd-6a83-4887-ab97-fa26c005c6e8.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/8-9a0ff1dd-6a83-4887-ab97-fa26c005c6e8.png)](https://opscom.wiki/uploads/images/gallery/2024-06/8-9a0ff1dd-6a83-4887-ab97-fa26c005c6e8.png)</div></div></div><div class="cc-1wlpsko align-center" data-media-caption="true" data-renderer-start-pos="4708" data-testid="media-caption">Lot group page.</div></div>At the top of the page, the same donut graph from the pop-up window on the map is shown, displaying a percentage of availability. It is calculated from the Mistall data or the lots below if there is no Mistall data for the lot group.

The lots are shown below. If the user is a guest (not logged in), they will only be able to see temporary permits on the page.

The standard permit booking button will take the user to the regular standard permit booking page, but the temporary permit booking button will take the user to the quick checkout.

This is the checkout used for <span data-highlighted="true"><span class="_11q7y4f7 _5pioz8co _189eyh40 _1il9nqa1 _19lc184f _d0altlke acronym-highlight" data-testid="acronym-highlight">QR</span></span> codes and the old version of the map. It allows the user to purchase the permit and checkout immediately without adding it to their cart.

# Temporary Documentation for the Mistall Pilot

## Overview

Mistall is a service that is used to count cars in a physical lot, using cameras to track vehicles as they enter and exit the lot. Within the OPSCOM system, each Mistall lot is associated to a Lot Group.

## Mistall Credentials

See Support/Development for credentials.

## Mistall System Job Task

- Mistall data is fetched and stored in the system using a system job task.
- The data is fetched from Mistall’s API service using the associated credentials entered in the system settings.
- By default, it is set to run every 10 minutes.

## Lot Groups

The Lot Groups page was updated to accommodate the use of Mistall.

In addition, Lot Groups have replaced the use of Lots on the Real-Time map on both the admin and user sides.

To have data populate the Mistall Lot ID dropdown, the Update Mistall System Job Task must be run at least once to import the data into the system.

Columns have been added for setup with the Real-Time Map and Mistall data.

- Map color - map icon color
- Latitude and longitude - location on the map, selected by putting a point on the map
- Show on map - if the group will appear on the real-time map
- Mistall Lot ID - which Mistall lot the Lot Group correlates to

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/mFYimage.png)![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/HWuimage.png)

<div data-layout-section="true" id="bkmrk-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-%C2%A0-"><div data-column-width="66.66" data-layout-column="true"><div class="cc-1jke4yk"><div class="rich-media-item mediaSingleView-content-wrap image-center cc-q1yisp" data-layout="center" data-node-type="mediaSingle" data-renderer-start-pos="1218" data-width="760" data-width-type="pixel"><div class="cc-1yg0fdm"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div data-alt="" data-collection="contentId-39190690" data-context-id="39190690" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="728" data-id="87fa49a2-2fa8-46c4-bff0-8aa4317cd82e" data-node-type="media" data-renderer-start-pos="1219" data-type="file" data-width="1092"> Lot Group page updates. The updated lot group edit model.  
<div class="new-file-experience-wrapper cc-rizzml" data-testid="media-card-view" id="bkmrk--1"><div class="media-file-card-view cc-z40uwk" data-test-media-name="image-20231124-203055.png" data-test-progress="1" data-test-source="remote" data-test-status="complete" data-testid="media-file-card-view">![](blob:https://OPSCOM.atlassian.net/eaba9458-b1a6-4340-a468-cf9362009ec5#media-blob-url=true&id=87fa49a2-2fa8-46c4-bff0-8aa4317cd82e&collection=contentId-39190690&contextId=39190690&mimeType=image%2Fpng&name=image-20231124-203055.png&size=84975&width=1092&height=728&alt=)</div></div></div></div><div class="media-file-card-view cc-z40uwk" data-test-media-name="image-20231124-203055.png" data-test-progress="1" data-test-source="remote" data-test-status="complete" data-testid="media-file-card-view">  
</div></div></div></div></div></div>## Lot Edit

On the lot edit page, the selection to set the lot group of the lot has been moved from the LPR section to the general section.

This is to allow clients who are not using the LPR system to still use the real-time map features.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/HVwimage.png)

 Lot edit page.

## Dashboard Widget

The imported Mistall data can be displayed on the dashboard in a widget.

The widget is named **<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#4c9aff">mistall-lot-stats</span>**.

If the system setting for **Enable Mistall Usage** is not enabled, this widget will not appear in the edit dashboard page.

The widget shows the raw Mistall data. The names of the lot groups associated to the data will be shown beside the bar chart.

If the Mistall data is not yet associated to a lot group, it will show the Mistall lot name instead. This is the name given to the lot by Mistall.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/ASmimage.png)

 Mistall dashboard widget.

# Real-Time Maps

The admin and user-side real-time maps have been updated to use lot groups instead of individual lots as pins on the map.

**The functionality of the maps is not dependant on the use of Mistall in a system.**

If the client does not have Mistall integrated with their site, the lot groups will use the data of the associated lots in place of Mistall data for the real-time maps.

## Admin-Side Map

The admin map has been updated to use lot groups.

When a lot group is clicked on, it will show the new popup.

The donut menu at the top shows the Mistall lot data, and the lot info shows the individual lot data. The bar charts below show the same lot info as above.

If the lot group has no Mistall data associated to it, it will use the collated counts of the lot info below instead.

If Mistall data is being used for the lot, it is likely it will not match the counts shown in the lot info window below. It is intentional that the information will not match.

The intention is that the client will be able to see the difference between what is physically present in the physical lot (lot group Mistall stats) and what the permits purchased within the system look like in comparison.

For example, if the lot is physically empty but is maxed out on purchased permits, the number of available permits can be increased for that lot.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/INIimage.png)

 Admin-Side map.

## User-Side Map

The user-side map has also been updated to use lot groups.

As before, the user map is made to appear by placing the shortcode on a client-created page.

The shortcode for the map is: **<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#4c9aff">\[real-time-map\]</span>**

The user-side map will now appear like this:

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/PITimage.png)

 User-side real time map.

The donut at the top shows the Mistall data if it is present. If the lot group does not have an associated Mistall lot, it will show the collated counts of the lot info below.

The lot info shown below the donut graph is from the permit counts in the system.

Unlike the admin-side map, the information here is presented as a percentage instead of the actual numbers. This is to allow for some leeway for any inaccuracy.

The icons to the right display if the lot allows standard or temporary permits.

- Green is standard.
- Yellow is temp.

The map should be accessible for users who are not logged in. If the user is logged in, they will be able to see standard permits and temp permits, but if they are not logged in, they will only be able to see temp permits.

The book permit button now takes the user to a new page used for selecting a permit from within the selected lot group.

## User-Side Lot Group Page

The lot group page shows much the same data as the regular permit page, just with the data specific to the selected lot group.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/Ln3image.png)

 Lot group page.

At the top of the page, the same donut menu from the pop-up window on the map is shown, displaying a percentage of availability. It is calculated from the Mistall data or the lots below if there is no Mistall data for the lot group.

The lots are shown below. If the user is a guest (not logged in), they will only be able to see temporary permits on the page.

The standard permit booking button will take the user to the regular standard permit booking page, but the temporary permit booking button will take the user to the quick checkout.

This is the checkout used for QR codes and the old version of the map. It allows the user to purchase the permit and checkout immediately without adding it to their cart.

# Hotspot - Permits Integration

To configure a lot to work with the HotSpot app, you must configure a zone for any lot where you want this service to be available. Once a zone is associated with a lot or multiple lots, any user purchasing a permit through HotSpot would be valid in all lots associated with the that zone which is configured in Lot Administration. This article will illustrate how to create the zone and apply it to a lot.

## Setting up a HotSpot zone

To begin you must set up the zone under **Admin Options**. Hover over the **Parking** menu item and select **Lot Zones** from the drop down list.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/image.png)

In the **Manage Lot Zones** screen click on **Add** to access the add zone form

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/qPKimage.png)

Enter the name of the lot zone you wish to add. In our example the lot zone is **1001**

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/wNYimage.png)

Once you have the zone name entered, click on **Add Zone** to save your selection. It will now show up in the drop down list of zones.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/dbSimage.png)

## Applying a Zone to a Lot

To apply this zone to a lot, you first need to go into **Lot Administration** to add the zone to your selected lots.  
To access the lots, go to the **Parking Management** menu and hover over **Lot Administration**. Select **Pricing and Admin** from the resulting drop down menu.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/9VWimage.png)

In our example we will add this zone to the lot called **Green Staff Lot East**. Click on the **lot name** to access the configuration tool.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/wluimage.png)

Once in **Lot Administration** for the specific lot, click on the **Zones &amp; Location** tab to access the zone configuration section.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/pUdimage.png)

In the **Zones &amp; Location** tab click on **Add Zone by Days** to select the **1001** zone we created.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/UGPimage.png)

Select **1001** from the resulting drop down list.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/ddFimage.png)

For our example we can leave the defaults as is which includes:

The day range - leave it with all days of the week selected. (Highlighted in green)  
The Start and End Time. (00:00 to 23:59 - in other words all day)  
  
To save your settings click on the **floppy disk (save) icon**.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/G0Aimage.png)

Click on **Update this Lot** to save your changes.

# ParkMobile - Permits API Integration

# Introduction

ParkMobile is a service that offers on-demand parking payments, similar to HotSpot.

A system task is run at regular intervals to retrieve permits from the ParkMobile API, which are then stored in the local site as temporary permits.

# Authorization Credentials

ParkMobile has a set of credentials that must be entered before data can be retrieved from their API.

These can be entered on the system settings page, which can be found under the menu tree:

- **System Configuration → System Setting**![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/NjYimage.png)
    
    ## ParkMobile System Settings
    
    Before the system task can be run and allowed access to the ParkMobile API, the proper API credentials must be entered in the relevant system settings, found under third-party settings.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/OBXimage.png)

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/MwRimage.png)

## Required Credentials

There are three values that must be provided for the system to be allowed access to the ParkMobile endpoint.

These values should be provided to the client by ParkMobile itself.

- API Username
- API Password
- X-API-Key

# Lot Zone Setup

Permits will only be imported into the OPSCOM system if the ParkMobile lot zone has a corresponding lot zone with the same name in the OPSCOM system.

If the local lot zone does not already exist for the ParkMobile lot zone, one will need to be created.

The lot zone management page can be found under the menu tree:

- **System Configuration → Parking → Manage Lot Zones**![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/1WMimage.png)

## Lot Zone Management

To create a new lot zone, click on the **<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#008da6">Add Lot Zone</span>** button to open the add new modal.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/4Ydimage.png)

This will open the modal used to add new lot zones.

Add the ParkMobile lot zone name as the Name of the lot zone, and then click save changes.

This will add the new lot zone to the system, which can now be used to match to ParkMobile permits coming into the system.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/Jrmimage.png)

## System Task

The ParkMobile system task is used to fetch permits from the ParkMobile endpoint and add them to the OPSCOM system as temporary permits.

System tasks can be be found under the menu tree:

- **Tools → View System Task Logs**![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/L6Rimage.png)

## System Tasks Page

The system task is named Fetch ParkMobile Stats.

![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/dTBimage.png)

The task must be enabled before it will run.

By default, it is set to run every 3 minutes.

The task can also be run manually by pressing the **<span class="fabric-text-color-mark" data-renderer-mark="true" data-text-custom-color="#0747a6">RUN</span>** button next to the task name.

# Imported Permits

ParkMobile permits are imported as paystation (Cale) records, and will appear anywhere these records are used.

They can be viewed using the Pay Station Status page, which can be found under the menu tree:

<div class="rich-media-item mediaSingleView-content-wrap image-wide cc-9mq51q" data-layout="wide" data-node-type="mediaSingle" data-renderer-start-pos="2146" data-width="900" data-width-type="pixel" id="bkmrk-parking-management-%E2%86%92"><div class="cc-178yel5"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>- **Parking Management → Temporary Permits → Pay Station Status**![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/86Zimage.png)

</div></div></div></div>## Pay Station Status

<div class="rich-media-item mediaSingleView-content-wrap image-wide cc-9mq51q" data-layout="wide" data-node-type="mediaSingle" data-renderer-start-pos="2146" data-width="900" data-width-type="pixel" id="bkmrk-on-the-pay-station-s"><div class="cc-178yel5"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>On the pay station status page, enter the search information and press the search button.</div><div>  
</div></div></div></div>![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/Zp6image.png)

<div class="rich-media-item mediaSingleView-content-wrap image-wide cc-9mq51q" data-layout="wide" data-node-type="mediaSingle" data-renderer-start-pos="2146" data-width="900" data-width-type="pixel" id="bkmrk-any-imported-parkmob"><div class="cc-178yel5"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>Any imported ParkMobile permits will be visible in the output results, marked by ParkMobile as the value listed in the Source column.</div><div>  
</div></div></div></div>![image.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/UJiimage.png)

<div class="rich-media-item mediaSingleView-content-wrap image-wide cc-9mq51q" data-layout="wide" data-node-type="mediaSingle" data-renderer-start-pos="2146" data-width="900" data-width-type="pixel" id="bkmrk--6"><div class="cc-178yel5"><div class="cc-k4ngfq" data-color="#091e4224" data-mark-type="border" data-size="2"><div>  
</div><div class=" cc-19r2z9c" contenteditable="false" data-media-badges="true" data-testid="media-badges">  
</div><div data-alt="image-20240510-192634.png" data-collection="contentId-84181421" data-context-id="84181421" data-file-mime-type="" data-file-name="file" data-file-size="1" data-height="710" data-id="19869f4b-7f3b-425c-9899-05459752e57c" data-node-type="media" data-renderer-start-pos="2147" data-type="file" data-width="1212">  
</div></div></div></div>